python – 如何使用Scrapy将从多个页面中删除的数据分组到一个项
我正在尝试收集一些关于一堆不同网站的信息.我希望每个站点生成一个项目,总结我在该站点上找到的信息,无论我在哪个页面上找到它.
我觉得这应该是一个项目管道,如duplicates filter示例,除了我需要项目的最终内容,而不是爬虫检查的第一页的结果. 因此,我尝试使用 我能看到的另一种方法是将蜘蛛输出转储到json-lines并使用外部工具对其进行后处理.但我宁愿把它折叠成蜘蛛,最好是在中间件或物品管道中.我怎样才能做到这一点? 解决方法
这个丑陋的解决方案怎么样?
在管道上定义字典(defaultdict(list))以存储每站点数据.在process_item中,您只需将dict(item)附加到每个站点项的列表中,然后引发DropItem异常.然后,在close_spider方法中,您可以将数据转储到您想要的任何地方. 应该在理论上工作,但我不确定这个解决方案是最好的解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |