我正在尝试使用Python 3和lxml从Tripadvisor餐馆名称。 我尝试检索的文本在以下元素中,在这种情况下,名为“ 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)

这将返回一个空数组:名称:[]如何获取所需的文本?

#1楼 票数:0 已采纳

如果不看实际页面,您的Xpath可能太严格了。 尝试这样的事情:

//a[contains(@href,"Restaurant_Review")]/text()

如果产生太多结果,请尝试在前面添加父对象。

希望能有所帮助。

更新:

看完实际页面后,这可能是您要寻找的内容:

//a[contains(@class,"property_title")]/text()

  ask by Jasper translate from so

未解决问题?本站智能推荐:

1回复

在另一个类中获取类文本的 XPath 代码?

通过检查页面的 HTML 代码片段: <div class="wBox"> <ul class="detailListHorizontal" id="firstBoxHeight"> <li class=""> <label cl
1回复

将文本输入到 Google 文档中的棘手 XPATH / 元素是什么?

我正在 Python 中运行一个代码,用于打开 Google Doc 并输入一组特定长度的组合。 我有代码可以让我转到我的 Google 文档并打开一个新文档,但是当我尝试找到 XPATH 或元素以在文档本身中输入文本时,我不断收到错误消息: 目前,我一直在尝试查看 XPATH 是否为//*[@
1回复

lxml 相对 xPath 不返回相对于给定 HtmlElement 的结果

我将相对 XPath ( ./ ) 应用于 HtmlElement 并且它不返回任何结果。 当我尝试使用双点 ( ../ ) 时,它返回与根 HTML 匹配的所有结果,而不是该特定 HtmlElement 的后代结果。 我不确定这里有什么问题。 lxml的版本是4.5.2 例子: 代码
1回复

Python-使用Selenium找到Xpath后返回ID

我正在学习xpath和Selenium,并且成功找到了我要定位的元素。 我正在搜索data-number = 48264的元素 我从中提取的HTML看起来像这样 现在,我尝试返回ID“ pos_4”。 我尝试了以下代码,但这是完全错误的。 这返回了一个长浮点数“ 0.
1回复

通过 xpath 在 lxml 树中搜索元素返回空列表

我正在尝试通过 xpath 查找元素,然后打印该信息,但不幸的是,此代码返回一个空列表: 以上 Xpath 在 selenium 和 firefox 检查器中效果很好,所以我真的不知道这段代码有什么问题。 这是 HTML: 我想在css-1ji7bvd类中提取senior 。
1回复

没有为 IWebElement.Text 返回文本

我有一些 xpath 可以正确返回我所追求的节点,但我无法检索 Selenium 中标签之间的文本。 下面正确返回了我所追求的 4 个节点: 但是,当我执行以下操作时,当我期待“abc123”时返回的文本一无所获: 如何获取返回的 abc123、def123 等文本? 下面是完整的 ht
4回复

为什么xpath在html标签外返回文本?

我正在使用在<html>标记之外包含一些text的文档。 当我读取体内的数据时,它还会返回甚至不在html标签中的文本。 输出: "WARC/1.0\\nWARC-Type: response\\nWARC-Date: 2012-02-11T04:48:01Z\\nWA
1回复

Scrapy,Xpath,没有结果?

我正在尝试抓取的网址: https://www.controller.com/listings/aircraft/for-sale/list?SortOrder=23&scf=False&page=1 我是 Scrapy 和编程的新手,但在此之前我仍然能够抓取一些网站。 当我