繁体   English   中英

从网站使用 Python 中的 lxml 和 request 以及 xpath 提取数据

[英]extracting data using lxml and request and xpath in Python from a website

我正在尝试使用 lxml 和 Python 中的请求从网站中提取一些数据。 这是网址:

https://www.google.com/finance/quote/HPQ:NYSE?comparison=NASDAQ%3AINTC%2CNASDAQ%3AAAPL%2CNASDAQ%3AAVGO%2CNASDAQ%3AQCOM

这是我的代码:

from lxml import html
import requests

page = requests.get('https://www.google.com/finance/quote/HPQ:NYSE?comparison=NASDAQ%3AINTC%2CNASDAQ%3AAAPL%2CNASDAQ%3AAVGO%2CNASDAQ%3AQCOM')
tree = html.fromstring(page.content)
price = tree.xpath('//*[@id="yDmH0d"]/c-wiz/div/div[4]/div/div/main/div[2]/c-wiz/div/div[5]/div/div/div/div[1]/div[1]')

但是,当我查看price它是空的。 我究竟做错了什么?

这个页面使用了大量的 javascript 来生成 html 内容。

但是,如果您禁用 javascript 或仅检查 web-inspector 中通过的第一个文档(有关更多信息,请参阅我的博客文章),您可以看到一种访问价格的简单方法:

在此处输入图片说明

这可以通过 xpath //*/@data-last-price

from lxml import html
import requests

page = requests.get('https://www.google.com/finance/quote/HPQ:NYSE?comparison=NASDAQ%3AINTC%2CNASDAQ%3AAAPL%2CNASDAQ%3AAVGO%2CNASDAQ%3AQCOM')
tree = html.fromstring(page.content)
price = tree.xpath('//*/@data-last-price')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM