使用XPATH从Bloomberg中搜集价格数据

时间:2017-09-01 03:12:02

标签: html xpath

尝试从此页面抓取定价数据:https://www.bloomberg.com/quote/EQUPEUI:LN

使用以下XPATH:/ html / body [@ class ='default-layout markets-section-front'] / div [@ class ='container'] / main [@ id ='content'] / div / div [@ class ='quote-page module'] / div [@ class ='basic-quote'] / div / div [@ class ='price-container up'] / div [@ class ='price'] < / p>

不工作......我被困住了,非常感谢你的帮助。

2 个答案:

答案 0 :(得分:0)

你非常亲密。您在XPath表达式的末尾只缺少/text()

/html/body[@class='default-layout markets-section-front']/div[@class='container']/main[@id='content']/div/div[@class='quote-page module']/div[@class='basic-quote']/div/div[@class='price-container up']/div[@class='price']/text()

这适用于python:

from lxml import html
import requests

req = requests.get('https://www.bloomberg.com/quote/EQUPEUI:LN')
tree = html.fromstring(req.content)

price = tree.xpath("//div[@class='price-container up']/div[@class='price']/text()")[0]

print "The price is:", price

请注意,您可以通过不从根HTML标记开始来大大简化XPath表达式。

答案 1 :(得分:0)

您还可以使用以下相对xpath

//main[@id='content']//div[@class='price']

使用上面的xpath找到元素,并使用getText()方法获取元素的文本。