Scrapy 爬蟲框架01 piplines

2021-09-20 03:44:40 字數 1865 閱讀 7858

scrapy裡面的piplines主要用來處理接受spider傳來的資料,也就是item。

在使用piplines的時候我們應該把settings.py中的items_pipelines注釋掉。

item_pipelines =
為了理解setting裡面的內容,我們可以來看piplines.py檔案

# -*- coding: utf-8 -*-

# define your item pipelines here

## don't forget to add your pipeline to the item_pipelines setting

# see:

class myspiderpro1pipeline(object):

def process_item(self, item, spider):

return item

class myspiderpro1pipeline2(object):

def process_item(self, item, spider):

item['rank']="a"

return item

我們可以看到,'myspiderpro1.pipelines.myspiderpro1pipeline': 300,

裡面的 myspiderpro01 代表爬蟲專案的名字,piplines表示該資料夾下的pipelines檔案,myspiderpro1pipeline 代表著第乙個pipeline類,300代表距離,就是先執行那個pipeline。在例子中,myspiderpro1pipeline是300,myspiderpro1pipeline1是299(在setting.py中設定),那麼就是myspiderpro1pipeline1 return 的item再給myspiderpro1pipeline處理,就是先執行myspiderpro1pipeline1.

這樣的設計可以使得pipelines做不同的操作。也可以讓乙個專案裡面的多個爬蟲被pipelines處理。

如下圖:

class myspiderpro1pipeline(object):

def process_item(self, item, spider):

if spider.name=='itcast':

pass

return item

對應的spider檔案:

# -*- coding: utf-8 -*-

import scrapy

import logging

logger = logging.getlogger(__name__)

class itcastspider(scrapy.spider):

name = "itcast" # 爬蟲名

allowed_domains = ["itcast.cn"] #允許爬取的範圍

start_urls = [''] #最開始請求url位址

def parse(self, response):

data = response.xpath("//div[@class='tea_con']//li")

# 分組組成乙個item字典

for li in data:

item1 = {}

item1['name'] = li.xpath(".//h3/text()").extract_first()

item1['title']= li.xpath('.//h4/text()').extract_first()

logger.warning(item1)

yield item1

scrapy爬蟲框架

作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...

scrapy 爬蟲框架

1.安裝 公升級pip版本 pip install upgrade pip 通過pip安裝scrapy框架 pip install scrapy 安裝成功 只執行scrapy 進行測試是否安裝成功 2.scrapy startproject 爬蟲專案名稱 執行此命令,可以生成乙個爬蟲專案 會預先生成...

Scrapy爬蟲框架

scrapy中的各大元件及其功能 1.scrapy引擎 engine 引擎負責控制資料流在系統的所有元件中流動,並在相應動作發生時觸發事件。2.排程器 scheduler 排程器從引擎接收request並將它們入隊,以便之後引擎請求request時提供給引擎。4.spider。spider是scra...