gpt4 book ai didi

python - XPath 查找所有只有数字的链接?

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:43 25 4
gpt4 key购买 nike

我在页面中选择了包含我想要的页面链接的元素。它们有点像 <a href="blah">1</a> .我想将正则表达式与 xpath 一起使用,这样我就可以获得所有像那个文本为 \d+ 的链接。 .

我看到这里有一个答案:How to use regular expression in lxml xpath?但我无法理解。

更具体地说,“请注意,您需要提供命名空间映射,以便它知道 xpath 表达式中的“re”前缀代表什么。”

这是清理页面中的代码:<div class="pagination"> <b>1</b> <a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=25">2</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=50">3</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=75">4</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=100">5</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=125">6</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=150">7</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=175">8</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=200">9</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=225">10</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=250">11</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=25" alt="next">›</a><a href="?page=post&amp;s=list&amp;tags=tag2+tag1&amp;pid=325" alt="last page">»</a><br><br><br><br><iframe hspace="0" vspace="0" border="0" marginheight="0" marginwidth="0" allowtransparency="true" src="http://notrelevant.com" frameborder="0" height="98" scrolling="no" width="736"></iframe></div>

到目前为止我的代码:

answer = browser.open(address)
tree = lxml.html.parse(answer)
numbers = tree.xpath("//div[contains(@class, 'pagination')]")[0]

最佳答案

XPath不提供匹配正则表达式的方法。

不过,您链接到的帖子中使用的扩展应该允许以下工作:

//div[contains(@class, 'pagination')]/a[re:match(text(), '^\d+$')]

关于python - XPath 查找所有只有数字的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com