如何使用scrapy提取表内的项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用scrapy提取表内的项目相关的知识,希望对你有一定的参考价值。

我想提取下面链接表中列出的所有函数:python functions list

我尝试使用chrome开发人员控制台来获取在spider.py文件中使用的确切xpath,如下所示:

$x('//*[@id="built-in-functions"]/table[1]/tbody//a/@href')

但是这会返回所有href的列表(我认为xpath表达式引用的是什么)。 enter image description here

我需要从这里提取文本我相信但是将/text()附加到上面的xpath没有返回任何内容。有人可以帮我从表中提取函数名称。

答案

我认为这应该可以解决问题

response.css('.docutils .reference .pre::text').extract()

一个非精确的xpath等价物(但在这种情况下也适用)将是:

response.xpath('//table[contains(@class, "docutils")]//*[contains(@class, "reference")]//*[contains(@class, "pre")]/text()').extract()
另一答案

试试这个:

for td in response.css("#built-in-functions > table:nth-child(4) td"):
    td.css("span.pre::text").extract_first()

以上是关于如何使用scrapy提取表内的项目的主要内容,如果未能解决你的问题,请参考以下文章