我对Scrapy感到惊讶和沮丧。看起来引擎盖下的功率太大了,使它成为一个非常陡峭的学习曲线。显然,Scrapy可以完成我自己编程所需的所有工作,但问题在于如何让它做我想做的事情。在Scrapy链接收获
现在,我正在写一个简单的链接收割机。我想导出两个文件:一个带有内部链接和链接文本,另一个带有外部链接和链接文本。
我一直在试图给我们-o file.csv命令,但它将每个页面url作为一个列表存储到一个单元中,并且它包含重复项。
另一种方法是在'parse'中编写我自己的代码并手动创建一个链接列表,然后在添加它们之前查看它们是否存在于列表中,然后手动解析url以查看如果域名在内部或外部。
看来Scrapy应该用一些命令来做到这一点。有没有一个内置的方法呢?
下面是我正在使用的代码。我评论了标题部分BC我想我需要为这些制作另一个项目对象。现在我已经放弃了这部分。
def parse_items(self, response):
item = WebconnectItem()
sel = Selector(response)
items = []
# item["title"] = sel.xpath('//title/text()').extract()
# item["current_url"] = response.url
item["link_url"] = sel.xpath('//a/@href').extract()
item["link_text"] = sel.xpath('//a/text()').extract()
items.append(item)
return items
你可以分享你的代码?它会帮助你通过一个解决方案引导你 –
我建议使用请求和美丽4.我试过Scrapy和我也有同感,如果你想我可以拿出一个简单的指南 – taesu
我加了码。我想你可能对请求和BS4是正确的。我已经有了我的爬虫工作,但被Scrapy所能做的一切吸引了。有了要求和BS4,我知道发生的一切。通过Scrapy,我觉得你将代码投入虚空,上帝知道会出现什么。 – pekasus