如何在xpath

时间:2018-06-26 18:42:43

标签: python xpath

我正在尝试从网页上收集信息,但无法获取正确的XPath来查找信息。这是网站的一部分:

<div class="posted">
  <div>
    June 20, 2018
  </div>
</div>

我想在每个页面上搜索此分类类,该分类类显示“ posted”,然后将其下的所有内容作为字符串返回。 (一个凌乱的字符串是可以的;我将仅使用“如果“ possibleDate”“中的” 2018“来搜索年份),这是我正在尝试的:

possibleDate = str(tree.xpath("//div[contains(@class, ’posted’)]//@text"))

说这是一个无效的表达式。
我在做什么错了?

1 个答案:

答案 0 :(得分:1)

首先,用周围的'个字符替换posted个字符。

接下来,将@text替换为text(),以消除XPath语法错误。

此外,您可能想使用所选div的空间归一化字符串值,而不是选择文本节点:

possibleDate = str(tree.xpath("normalize-space(//div[@class='posted'])")

这将抽象化嵌套在目标div中的标记变体。

另请参见: xpath: find a node whose class attribute matches a value and whose text contains a certain string