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

Scrapy:如何在Spider中使用项目以及如何将项目发送到管道?

Scrapy:如何在Spider中使用项目以及如何将项目发送到管道?

好吧,项目的主要目的是存储你爬网的数据。scrapy.Items基本上是字典。要声明你的物品,你将必须创建一个类并添加一个scrapy.Field

import scrapy

class Product(scrapy.Item):
    url = scrapy.Field()
    title = scrapy.Field()

现在,你可以通过导入产品在蜘蛛中使用它。

有关高级信息,我让你在此处检查文档

首先,你需要告诉spider使用custom pipeline

在settings.py文件中:

ITEM_PIPELINES = {
    'myproject.pipelines.CustomPipeline': 300,
}

你现在可以编写管道并处理你的项目。

在pipeline.py文件中:

from scrapy.exceptions import DropItem

class CustomPipeline(object):
   def __init__(self):
        # Create your database connection

    def process_item(self, item, spider):
        # Here you can index your item
        return item

最后,在你的Spider中,你需要在yield填充物品后对其进行操作。

spider.py示例:

import scrapy
from myspider.items import Product

class MySpider(scrapy.Spider):
    name = "test"
    start_urls = [
        'http://www.exemple.com',
    ]
def parse(self, response):
    doc = Product()
    doc['url'] = response.url
    doc['title'] = response.xpath('//div/p/text()')
    yield doc # Will go to your pipeline
其他 2022/1/1 18:19:55 有423人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶