在爬虫的时候,有一个需求是根据查找包含 文字“下一页” 的节点的链接,因为我毕竟喜欢pyquery,所以弄了好久,后面查到xpath可以解决。
在使用xpath之前要导入lxml的etree模块,格式是:html = etree.HTML(response.text) 格式化后,得到可以进行xpath处理的文档。
于是,进行搜索,比如搜索含有文字为:“hello”的a节点,可以使用:
result = html.xpath('//a[contains(text(), "hello")]')
这可以类比属性,加强记忆:如搜索属性为as的a节点:
result1 =html.xpath('//a[contains(@class, "as")]')
而对于pyquery和beautifulsoup没有这种文本标记的功能。就当个小笔记。