尝试从此页面抓取定价数据: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>
不工作......我被困住了,非常感谢你的帮助。
答案 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()方法获取元素的文本。