【发布时间】:2019-03-29 11:54:10
【问题描述】:
我正在做一个项目,它涉及使用 Scrapy 从网站上抓取数据。 之前我们使用 Selenium,但现在我们必须使用 Scrapy。 我对 Scrapy 没有任何知识,但现在正在学习它。 挑战之一是从网站上删除数据,数据以表格形式结构化,虽然有下载此类数据的链接,但在我的情况下它不起作用。
下面是表格的结构 html structure
我所有的数据都在 tbody 下,每个都有 tr
目前我写的伪代码是:
def parse_products(self, response):
rows=response.xpath('//*[@id="records_table"]/tbody/')
for i in rows:
item = table_item()
item['company'] = i.xpath('td[1]//text()').extract_first()
item['naic'] = i.xpath('td[2]//text()').extract_first()
yield item
我是否使用 xpath 正确访问表体? 不确定我指定的 xpath 是否正确
【问题讨论】:
-
您的实际问题是什么?目前还不清楚我们应该帮助什么
-
我的代码正确吗?当我试图在 scapy shell 上运行 'rows=response.xpath('//*[@id="records_table"]/tbody/')' 时,我得到一个空列表
-
如果你只从一个网站上报废,那么我建议你用漂亮的汤而不是斗志昂扬
-
路径到
tr然后td,如item['company'] = i.xpath('/tr[1]/td//text()').extract_first() -
rows指向表格。您应该识别表然后rows = table.xpath('tr')和 然后 遍历行以形成您的条目。