如何使用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提取表内的项目的主要内容,如果未能解决你的问题,请参考以下文章

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销

如何将表内的属性引用到同一表内新行内的值

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

如何在 Angular 9 中使用向上、向下、向左和向右箭头键导航动态输入和选择表内的字段?

在Scrapy中如何利用Xpath选择器从HTML中提取目标信息(两种方式)

SQLServer如何将一个表内的所有数据导入另一个表后,删除表内的所有数据