一个蜘蛛可以处理多个项目和多个管道吗?

时间:2015-05-26 01:20:09

标签: python web scrapy

scrapy的新手。有些事让我感到困惑:蜘蛛,管道和物品之间的关系是什么?

1.一个管道只能处理一个特定的项目,还是可以处理多个项目?

2.如何使用一个蜘蛛抓取多个项目,或者我应该使用一个蜘蛛来抓取一个项目?

1 个答案:

答案 0 :(得分:1)

项目是指它被抓取的数据项。您也可以将其称为记录或条目。

Spider 是进行抓取(启动请求和后续链接)和抓取(从响应中提取数据项)的东西。他们可以安排任意数量的请求,并根据需要提取任何数量的项目,没有任何限制。

项目管道是处理蜘蛛提取的项目的抽象。我们的想法是,您可以组合不同的“管道”,数据项将通过这些“管道”,然后您将以一种可以完成您需要的方式安排它们。管道用例的示例是应用验证约束,将数据保存到数据库中,对数据进行一些清理(例如,删除HTML标记)等。

所以,重拍:

蜘蛛提取数据,Scrapy逐个发送到已配置的项目管道(如果有可能)后发布处理物品。