您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 如何使用Scrapy将从多个页面中删除的数据分组到一个项目中?

5b51 2022/1/14 8:20:30 python 字数 2619 阅读 476 来源 www.jb51.cc/python

我正在尝试收集一些关于一堆不同网站的信息.我希望每个站点生成一个项目,总结我在该站点上找到的信息,无论我在哪个页面上找到它. 我觉得这应该是一个项目管道,如duplicates filter示例,除了我需要项目的最终内容,而不是爬虫检查的第一页的结果. 因此,我尝试使用request.meta通过针对给定站点的各种请求传递单个部分填充的项目.为了完成这项工作,我必须让我的解析回调每次调用返回一个新

概述

我觉得这应该是一个项目管道,如duplicates filter示例,除了我需要项目的最终内容,而不是爬虫检查的第一页的结果.

因此,我尝试使用request.meta通过针对给定站点的各种请求传递单个部分填充的项目.为了完成这项工作,我必须让我的解析回调每次调用返回一个新的请求,直到它没有更多的页面可访问,然后最终返回完成的项目.如果我找到了我想要遵循的多个链接,那将是一种痛苦,如果调度程序因链接周期而丢弃其中一个请求,则会完全中断.

我能看到的另一种方法是将蜘蛛输出转储到json-lines并使用外部工具对其进行后处理.但我宁愿把它折叠成蜘蛛,最好是在中间件或物品管道中.我怎样才能做到这一点?

在管道上定义字典(defaultdict(list))以存储每站点数据.在process_item中,您只需将dict(item)附加到每个站点项的列表中,然后引发DropItem异常.然后,在close_spider方法中,您可以将数据转储到您想要的任何地方.

应该在理论上工作,但我不确定这个解决方案是最好的解决方案.

总结

以上是编程之家为你收集整理的python – 如何使用Scrapy将从多个页面中删除的数据分组到一个项目中?全部内容,希望文章能够帮你解决python – 如何使用Scrapy将从多个页面中删除的数据分组到一个项目中?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶