2017-09-01 66 views
1

试图从这个网页刮定价数据来自彭博刮价格数据:https://www.bloomberg.com/quote/EQUPEUI:LN使用XPATH

使用以下XPath:/ HTML/BODY [@类=“默认布局市场形部前”]/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']

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

回答

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

太棒了!谢谢。 – Mordko

0

您也可以使用相关的XPath以下

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

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