Python 抓取谷歌金融

标签 python xpath web-scraping

我正在尝试从 Google Finance 的 new interface 中抓取股票价格。 我使用 xpath 导航到价格位置,但在打印时,它总是返回一对方括号 []

我尝试修复它,但似乎没有任何效果,并且它也对屏幕上的所有其他对象执行此操作。

from lxml import html
import requests
import time

def parse(ticker):
    url = "http://google.com/finance?q=%s"%(ticker)
    response = requests.get(url, verify=False)
    parser = html.fromstring(response.content)
    priceO = parser.xpath('//*[@id="fac-ut"]/div[1]/div[4]/div[1]/span[1]/text()')
    print priceO
parse('AAPL')

输出:

[]

[Finished in 1.2s]

最佳答案

您的 XPath 似乎不正确

尝试替换

priceO = parser.xpath('//*[@id="fac-ut"]/div[1]/div[4]/div[1]/span[1]/text()')

下面一行

price0 = parser.xpath('//div[@id="price-panel"]//span')[0].text_content().strip()

输出:

172.50

关于Python 抓取谷歌金融,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48948161/

相关文章:

python - Django (admin.e104) 必须继承自 'InlineModelAdmin'

python - 包含 None 时如何将字典拆分为列

c# - 构建 XDocument 时出错

xpath - XSL Pattern 和 XPath 在语法上有什么区别?

php - PHP SimpleXML XPath contains()查找此元素引用的其他元素

node.js - 抓取视频的youtube混合播放列表ID

Python Flet 异步

python - Django:导入错误:无法从 'Celery' 导入名称 'celery'

python - 用于 Python 中的网页抓取的 Newspaper 0.0.6

go - 限制 gocolly 一次处理有限数量的 url