Mooc爬蟲05 scrapy框架

2021-07-31 08:06:36 字數 2161 閱讀 5148

1 scrapy框架的介紹安裝

pip install scrapy
檢視是否安裝完成

scrapy ‐h
scrapy框架是實現爬蟲功能的乙個軟體結構和功能元件集合

scrapy爬蟲框架的結構

這5+2的結構, 就是scrapy框架

主要有三條主要的資料流路徑

第一條路徑

1) engine通過中介軟體獲得了spiders傳送的請求, 這個請求叫做requests, 相當於是乙個url

2) engine再**給scheduler, scheduler主要負責對爬取請求進行排程

第二條路徑

3) 從scheduler獲得下乙個需要爬取的請求, 這是乙個真實的請求

4) engine獲得這個請求之後, 通過中介軟體, 將請求給 **********模組

5) **********爬取請求中相關的網頁, 並將爬取的內容封裝成乙個物件, 這個物件叫response(響應)

6) engine再通過中介軟體將response返回給spiders

第三條路徑

7) spiders處理從**********獲得的響應, 處理之後會產生兩個資料型別, 乙個是items(爬取項), 另乙個是新的requests

8) engine接受到這兩資料之後, 將items傳送給item pipelines, 將requests傳送給scheduler進行排程

整個框架的入口是spiders, 出口是item pipelines  

其中engine, scheduler, 和**********是已經寫好的, 不需要實現

spiders和item pipelines是需要編寫的, 但是裡面有既定的**框架, 所以情況是要對某東西進行修改, 這種情況一般叫配置

2 框架解析

engine

是整個框架的核心

不需要修改

控制所有模組之間的資料流

根據條件觸發事件

**********

不需要修改

scheduler

對所有請求進行排程管理

********** middleware

在engine和**********之間的中介軟體

實現使用者可配置的控制, 一般是對requests或者responses進行處理和修改的時候使用

實現 修改, 丟棄, 新增請求或相應

使用者可以編寫配置**

spiders

解析**********返回的相應

產生爬取項

產生額外的爬取請求

需要使用者編寫, 是使用者最主要編寫的部分

item pipelines

是以流水線的形式進行處理生成的爬起項

由一組操作順序組成, 類似流水線, 每個操作是乙個item pipelines

可能包含的操作有: 清理, 檢驗, 和查重爬取項中的html資料, 將資料儲存到資料庫中

完全由使用者編寫

spider middleware

在spiders和engine之間的中介軟體

物件求和爬取項的再處理

修改, 丟棄, 新增請求或者爬取項

中介軟體主要是對中間的資料流進行一些操作

3 scrapy和requests的區別

相同點:

都可以進行頁面的爬取

可用性都比較好

兩者都沒有處理js, 提交表單, 應對驗證碼的功能(但是可以擴充套件)

不同點scrapy是**級別的爬蟲, 是乙個框架, 併發性好, 效能較高, 重點在於爬蟲結構

4 常用命令

命令格式

scrapy 命令 命令項 命令引數
startproject 建立乙個新工程

genspider 建立乙個爬蟲

settings 獲取爬蟲配置資訊

crawl 執行乙個爬蟲

list 列出工程中所有爬蟲

shell 啟動url除錯命令列

scrapy主要是乙個後台的爬蟲框架

之所以提供命令列的方式是因為 命令列的方式更加榮益自動化, 適合指令碼控制

本質上, scrapy是給程式設計師使用的, 使用命令列的方式更加合適

5 簡單例項

05 Scrapy 框架基礎

scrapy是什麼?參考 06 scrapy配置安裝及入門案例 架構圖涉及三個物件和七個模組 開發過程中,scrapy的使用 主要需要自己手寫的內容是 spider 和 item pipline 兩個模組,middlewares 和 spider middlewares偶爾肯能會需要手寫.scrap...

05 scrapy框架使用

settings.py 工程的配置檔案 2.cd proname 進入專案 3.建立爬蟲原始檔 4.執行工程 5.配置settings.py 2.指定日誌型別 3.ua偽裝 執行指令 scrapy crawl spidername o filepath scrapy crawl duanzi o d...

Mac python 搭建scrapy爬蟲框架

1 在mac上安裝好python3,以及相關元件 2 進入python3的虛擬環境 workon env3.7 3 安裝scrapy pip install scrapy 4 建立乙個scrapy專案 4.1選擇路徑專案路徑 cd users panstark pycharmprojects 4.2...