Scrapy爬蟲框架 慕課嵩天老師課程學習筆記

2021-10-06 04:49:39 字數 2421 閱讀 4568

框架結構:5+2結構

spiders模組-----engine模組-----**********模組(聯網)-----scheduler模組-----item pipelines模組

spiders負責接收使用者請求(發給scheduler),處理**********的response(發給item pipelines和scheduler)

engine是鏈結其他四個模組的中介

scheduler從spiders接收request並排程給**********

item piplines處理spiders傳送過來的response

只需要配置spiders和item piplines。********** middleware、spiders middleware。

spider與接收使用者、**********,傳送給scheduler(request)、item piplines(items)

**********接收scheduler(request),傳送給spider(response其中包含request和items)

scheduler接收spider,傳送給**********

item pipelines接收spider(item)。

中介軟體模組:engine和spiders中間、engine和**********中間

資料流路徑

1.spiders -> engine -> scheduler (engine從spider獲得requests,scheduler對請求進行排程)

2.scheduler -> engine -> ********** -> engine -> spiders

3.spiders -> engine -> item pipelines&&scheduler  

spiders處理響應,產生兩個資料型別item和requests。requests是新的爬去請求,即網頁其他鏈結也感興趣,可以發給scheduler繼續排程。

scrapy [options][args]

startproject建立工程 scrapy startproject [dir]

genspider建立爬蟲 scrapy genspider [options]

settings獲得爬蟲配置資訊 scrapy settings [options]

crawl執行爬蟲 scrapy crawl

list列出工程所有爬蟲 scrapy list

shell啟動url除錯命令列 scrapy shell [url]

demo/   工程資料夾

---scrapy.cfg    部署伺服器上時爬蟲配置檔案

---demo/        自定義**資料夾

---__init__.py   初始化指令碼

---items.py     items**模板(繼承類)

---middlewares.py     middlewares**模板(繼承類)

---piplines.py      piplines**模板(繼承類)

---setting.py        scrapy爬蟲的配置檔案

---spiders/          spiders**模板目錄(繼承類)

意思是產生乙個爬蟲,爬蟲名字是demo,爬取網域名稱是

會在demo/demo/spiders/資料夾裡生產乙個demo.py檔案

四步:建立工程和spider模板,編寫item pipeline,編寫spider,優化配置策略

資料型別:request類、response類、item類

request物件表示乙個http請求

由spider生成,由**********執行

.url請求的url位址

.method請求的方法

.headers請求頭

.body請求主體,字串型別

.meta傳遞訊息用

.copy()複製該請求

response隨想表示乙個http響應

由**********生成,由spider處理

.url 對應的url位址

.status狀態碼

.headers頭部資訊

.body內容資訊,字串型別

.flags一組標記

.request產生response型別對應的request物件

.copy()複製該響應

item物件表示乙個從html頁面中提取的資訊內容

由spider生成,由item pipeline處理

item類似字典型別,可以按照字典型別操作

資訊提取方法:beautifulsoup、lxml、re、xpath selector、css selector

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...