我正在尝试使用Python 3&amp ;;来自Tripadvisor的餐馆名称。 LXML。我正在尝试检索的文本位于以下元素中,在这种情况下被命名为“Al Fresco”。
<a target="_blank" href="/Restaurant_Review-g293925-d8327527-Reviews-
Al_Fresco_s-Ho_Chi_Minh_City.html" class="property_title"
onclick="ta.restaurant_list_tracking.clickDetailTitle('/Restaurant_Review-
g293925-d8327527-Reviews-Al_Fresco_s-
Ho_Chi_Minh_City.html','tags_category_tag_restaurants','8327527','1','0');">
Al Fresco's
</a>
对此元素的Xpath引用:
//*[@id="eatery_8327527"]/div[2]/div[1]/div[1]/a
我使用以下简单代码检索此元素中的文本:
from lxml import html
import requests
page = requests.get('https://www.tripadvisor.nl/Restaurants-g293925-
Ho_Chi_Minh_City.html')
tree = html.fromstring(page.content)
#This will create a list of Names:
Name = tree.xpath('//*[@id="eatery_8327527"]/div[2]/div[1]/div[1]/a/text()')
print ('Name: ', Name)
这会返回一个空数组:名称:[] 我如何得到我想要的文字?
答案 0 :(得分:0)
如果不查看实际页面,您的Xpath可能过于严格。尝试这样的事情:
//a[contains(@href,"Restaurant_Review")]/text()
如果产生的结果太多,请尝试在前面添加父级。
希望有所帮助。
更新:
看了一下实际的页面后,我可能正在寻找你的内容:
//a[contains(@class,"property_title")]/text()