scrapy框架的理解
在每一次學(xué)習(xí)一個(gè)新東西之前,需要知道的幾個(gè)問題。這個(gè)東西是什么(what),怎么使用(how),為什么(why)
scrapy的概念:Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的框架。
scrapy的作用:通過(guò)少量代碼實(shí)現(xiàn)快速抓取。
scrapy一共有5個(gè)模塊和2個(gè)中間件,模塊分別是Spider爬蟲模塊,engine引擎模塊,scheduler調(diào)度器模塊,Downloader下載器模塊,Pipeline管道模塊。中間件分別是Downloader--Middlewares(下載器中間件),
Spider-Middlewares(爬蟲中間件)。
engine引擎模塊:負(fù)責(zé)數(shù)據(jù)和信號(hào)在不同模塊間的傳遞。
scheduler調(diào)度器模塊:實(shí)現(xiàn)一個(gè)隊(duì)列,存放引擎發(fā)過(guò)來(lái)的request請(qǐng)求對(duì)象。
Downloader下載器模塊:發(fā)送引擎發(fā)過(guò)來(lái)的request請(qǐng)求,獲取響應(yīng),并將response傳遞給引擎。
Spider爬蟲模塊:處理引擎發(fā)過(guò)來(lái)的response,提取數(shù)據(jù),提取url,并交給引擎。
Pipeline管道模塊:處理引擎?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù),比如存儲(chǔ)。格式可以是csv、json、mongodb、redis、mysql.
下載中間件(downloader middleware):可以自定義的下載擴(kuò)展,比如設(shè)置代理Ip。
爬蟲中間件(spider middleware):可以自定義request請(qǐng)求和進(jìn)行response過(guò)濾。
?
scrapy的工作原理流程:
1.spider---request---engine
2.engine---request---scheduler
3.scheduler---request---engine
4.engine---request---downloader
5.downloader---response---engine
6.engine---response---spider
7.spider---new_url---engine
重復(fù)1-6
8.spider---data---engine
9.engine---data---pipeline
?
scrapy框架的運(yùn)行流程以及數(shù)據(jù)傳遞過(guò)程:
?
轉(zhuǎn)載于:https://www.cnblogs.com/hjl666/p/10882737.html
總結(jié)
以上是生活随笔為你收集整理的scrapy框架的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国神探剧情介绍
- 下一篇: 下拉插件 (带搜索) Bootstrap