【问题标题】:Python: Get the absolute xpath of an element inside the pagePython:获取页面内元素的绝对xpath
【发布时间】:2015-09-24 15:18:30
【问题描述】:

来自this page(和其他类似的)我需要在页面底部为每个作者获取绝对 xpath。作者的数量因页面而异。 使用 xpath //p[@class="blue"]/b/text() 我可以检索所有作者姓名,但我需要每个作者的确切 xpath(没有类或 ID)。

我需要为第一作者获取此form_table3_tr_td_table5_tr_td_table1_tr_td2_table1_tr_td2_p_b_text(),为第二作者获取form_table3_tr_td_table5_tr_td_table1_tr_td2_table2_tr_td2_p_b_text()

编辑: 这是我用来检索包含作者姓名的列表的代码:

import requests
from lxml import html

url="http://www.dlib.org/dlib/november14/voelske/11voelske.html"
page = requests.get(url)
tree = html.fromstring(page.content)
authors=tree.xpath('//p[@class="blue"]/b/text()')

【问题讨论】:

  • 您是否必须在这里使用 XPath 或者您可以尝试类似Beautiful Soup 的东西吗?
  • 是的,不幸的是只有 xpath。
  • 您正在使用什么框架/Python 库?请显示您正在使用的 Python 代码。
  • @MathiasMüller 我正在使用 lxml 并请求模块。我已经用代码编辑了问题。

标签: python html xpath


【解决方案1】:

试试这个 xpath:

//table[1]/tbody/tr/td/p[@class='blue']/b

如果更改 [2] ... [3] 中的 [1],您将能够获得所有绝对值 xpath

【讨论】:

  • 感谢您的回答。这可能是一个很好的解决方案,但我不仅要分析该页面,还要分析来自同一网站的其他页面,并且作者的数量不一样(我已经编辑了问题)。我需要一个更通用的解决方案来实现我的目的。
猜你喜欢
  • 2017-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 2012-12-01
  • 2021-03-13
相关资源
最近更新 更多