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

时间:2017-10-23 15:27:35

标签: xpath web-scraping 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不会返回任何内容。有人可以帮我从表格中提取函数名称。

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

试试这个:

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