scrapy框架總結(jié)

#scrapy框架是什么:

#####scrapy是用純Python實現(xiàn)的一個為了爬去網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)數(shù)據(jù)而編寫的應(yīng)用框架.

scrapy框架的工作流程:![scrapy.jpeg](https://upload-images.jianshu.io/upload_images/9879502-9957aa2df11ded61.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

```

#個個模塊之間的作用:

Scrapy Engine(引擎): 負責Spider、ItemPipeline孤荣、Downloader跪但、Scheduler中間的通訊橡类,信號澄成、數(shù)據(jù)傳遞等蛛枚。

Scheduler(調(diào)度器): 它負責接受引擎發(fā)送過來的Request請求雌澄,并按照一定的方式進行整理排列,入隊每篷,當引擎需要時瓣戚,交還給引擎里初。

Downloader(下載器):負責下載Scrapy ##Engine(引擎)發(fā)送的所有Requests請求远剩,并將其獲取到的Responses交還給Scrapy ##Engine(引擎),由引擎交給Spider來處理募胃,

Spider(爬蟲):它負責處理所有Responses,從中分析提取數(shù)據(jù)矗晃,獲取Item字段需要的數(shù)據(jù)仑嗅,并將需要跟進的URL提交給引擎,再次進入Scheduler(調(diào)度器)张症,

Item Pipeline(管道):它負責處理Spider中獲取到的Item仓技,并進行進行后期處理(詳細分析、過濾俗他、存儲等)的地方.

Downloader Middlewares(下載中間件):你可以當作是一個可以自定義擴展下載功能的組件脖捻。

#Spider Middlewares(Spider中間件):你可以理解為是一個可以自定擴展和操作引擎和##Spider中間通信的功能組件(比如進入Spider的Responses;和從Spider出去的Requests)

```

![c893ae3b-5557-4649-9b48-c8748d3936cd.png](https://upload-images.jianshu.io/upload_images/9879502-ea12c4f8aa5ef9c9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##介紹完了scrapy的工作流程之后我們就可以開始爬蟲項目了!!

>1:新建一個項目: scapy startproject 我的爬蟲名稱

>項目新建完成之后我們要進入spider文件下再創(chuàng)建你的爬蟲文件, scrapy genspider 爬蟲文件名稱 爬蟲域

創(chuàng)建完了項目之后我們就可一制作我們的爬蟲了打開我們創(chuàng)建的爬蟲文件,我們可以看到默認代碼如下:

-*- coding: utf-8 -*-

import scrapy

class JobboleSpider(scrapy.Spider):

? ? name = '爬蟲名稱'

? ? allowed_domains = ['默認域']

? ? start_urls = ['起始URL']

? ? def parse(self, response):

? ? ? ? pass

再然后就可以直接使用選擇器進行獲取數(shù)據(jù)了

#scrapy框架是什么:

#####scrapy是用純Python實現(xiàn)的一個為了爬去網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)數(shù)據(jù)而編寫的應(yīng)用框架.

scrapy框架的工作流程:![scrapy.jpeg](https://upload-images.jianshu.io/upload_images/9879502-9957aa2df11ded61.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

```

#個個模塊之間的作用:

Scrapy Engine(引擎): 負責Spider、ItemPipeline拯辙、Downloader郭变、Scheduler中間的通訊,信號涯保、數(shù)據(jù)傳遞等诉濒。

Scheduler(調(diào)度器): 它負責接受引擎發(fā)送過來的Request請求,并按照一定的方式進行整理排列夕春,入隊未荒,當引擎需要時,交還給引擎及志。

Downloader(下載器):負責下載Scrapy ##Engine(引擎)發(fā)送的所有Requests請求片排,并將其獲取到的Responses交還給Scrapy ##Engine(引擎),由引擎交給Spider來處理速侈,

Spider(爬蟲):它負責處理所有Responses,從中分析提取數(shù)據(jù)率寡,獲取Item字段需要的數(shù)據(jù),并將需要跟進的URL提交給引擎倚搬,再次進入Scheduler(調(diào)度器)冶共,

Item Pipeline(管道):它負責處理Spider中獲取到的Item,并進行進行后期處理(詳細分析、過濾捅僵、存儲等)的地方.

Downloader Middlewares(下載中間件):你可以當作是一個可以自定義擴展下載功能的組件家卖。

#Spider Middlewares(Spider中間件):你可以理解為是一個可以自定擴展和操作引擎和##Spider中間通信的功能組件(比如進入Spider的Responses;和從Spider出去的Requests)

```

![c893ae3b-5557-4649-9b48-c8748d3936cd.png](https://upload-images.jianshu.io/upload_images/9879502-ea12c4f8aa5ef9c9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

##介紹完了scrapy的工作流程之后我們就可以開始爬蟲項目了!!

>1:新建一個項目: scapy startproject 我的爬蟲名稱

>項目新建完成之后我們要進入spider文件下再創(chuàng)建你的爬蟲文件, scrapy genspider 爬蟲文件名稱 爬蟲域

創(chuàng)建完了項目之后我們就可一制作我們的爬蟲了打開我們創(chuàng)建的爬蟲文件,我們可以看到默認代碼如下:

-*- coding: utf-8 -*-

import scrapy

class JobboleSpider(scrapy.Spider):

? ? name = '爬蟲名稱'

? ? allowed_domains = ['默認域']

? ? start_urls = ['起始URL']

? ? def parse(self, response):

? ? ? ? pass

再然后就可以直接使用選擇器進行獲取數(shù)據(jù)了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市庙楚,隨后出現(xiàn)的幾起案子上荡,更是在濱河造成了極大的恐慌,老刑警劉巖馒闷,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酪捡,死亡現(xiàn)場離奇詭異,居然都是意外死亡窜司,警方通過查閱死者的電腦和手機沛善,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來塞祈,“玉大人金刁,你說我怎么就攤上這事∫樾剑” “怎么了尤蛮?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長斯议。 經(jīng)常有香客問我产捞,道長,這世上最難降的妖魔是什么哼御? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任坯临,我火速辦了婚禮,結(jié)果婚禮上恋昼,老公的妹妹穿的比我還像新娘看靠。我一直安慰自己,他們只是感情好液肌,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布挟炬。 她就那樣靜靜地躺著,像睡著了一般嗦哆。 火紅的嫁衣襯著肌膚如雪谤祖。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天老速,我揣著相機與錄音粥喜,去河邊找鬼。 笑死橘券,一個胖子當著我的面吹牛额湘,可吹牛的內(nèi)容都是我干的秕铛。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼缩挑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了鬓梅?” 一聲冷哼從身側(cè)響起供置,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绽快,沒想到半個月后芥丧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡坊罢,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年续担,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片活孩。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡物遇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出憾儒,到底是詐尸還是另有隱情询兴,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布起趾,位于F島的核電站诗舰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏训裆。R本人自食惡果不足惜眶根,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望边琉。 院中可真熱鬧属百,春花似錦、人聲如沸艺骂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钳恕。三九已至别伏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間忧额,已是汗流浹背厘肮。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留睦番,地道東北人类茂。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓耍属,卻偏偏與公主長得像,于是被迫代替她去往敵國和親巩检。 傳聞我的和親對象是個殘疾皇子厚骗,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容