Scrapy 爬蟲框架的安裝與基本介紹

這次要介紹一個及其強大的爬蟲框架---Scrapy,此學習的框架更加的具有規模性,具有良好的併發性能。

Srapy框架的安裝:

無論是在windows還是mac下,都可以是用pip工具進行快速安裝:

pip install scrapy

這裡推薦一個非常好用的Python調試shell:ipython

ipython是一種基於Python的交互解釋器,比原生的Python shell提供了更加強大的編輯和交互功能,比如,代碼高亮,自動補全等等。

我們依舊用pip工具進行安裝:

pip install ipython

Scrapy框架的基本介紹:

Scrapy不是一個功能函數庫,而是一個爬蟲框架,簡單的說,他是一個半成品,可以幫助用戶簡單快速的部署一個專業的網絡爬蟲。如果說定製bs4爬蟲是”手動擋“,那Scrapy就相當於”半自動檔“的車。

Scrapy框架結構:

首先來一張框架整體的圖:

Scrapy 爬蟲框架的安裝與基本介紹

從圖中我們可以清楚的看到,整個框架一共分為五個部分:

SPIDERS

ITEM PIPELINES

DOWNLOADER

SCHEDULER

ENGIINE

這五個部分互相協作,共同完成了整個爬蟲項目的工作。下面我們來一個一個介紹。

SPIDERS:

Spiders這個模塊就是整個爬蟲項目中需要我們手動實現的核心部分,就是類似我們之前寫的get_content函數部分,最主要的功能是 解析網頁內容、產生爬取項、產生額外的爬去請求。

ITEM PIPELINES:

這個模塊也是需要我們手動實現的,他的主要功能是將我們爬取篩選完畢的數據寫入文本,數據庫等等。總之就是一個“本地化”的過程。

DOWNLOADER:

這個模塊,是Scrapy做好的,不需要我們自己編寫,直接拿來用就行,其主要功能就是從網上獲取網頁內容。

SCHEDULER:

這個模塊對所有的爬取請求,進行調度管理,同樣也是不需要我們寫的模塊。通過簡單的配置就能達到更加多線程,併發處理等等強大功能。

ENGIINE

這個模塊相當於整個框架的控制中心,他控制著所有模塊的數據流交換,並根據不同的條件出發相對應的事件,同樣,這個模塊也是不需要我們編寫的。

Scrapy框架的數據流動:

先上一張圖:

Scrapy 爬蟲框架的安裝與基本介紹

說了各個模塊的作用,那麼整個項目跑起來的時候,數據到底是怎麼運作的呢?讓我來詳細說明:

00001. Engine從Spider處獲得爬取請求(request)

00002. Engine將爬取請求轉發給Scheduler,調度指揮進行下一步

00003. Engine從Scheduler出獲得下一個要爬取的請求

00004. Engine將爬取請求通過中間件發給Downloader

00005. 爬取網頁後後,downloader返回一個Response給engine

00006. Engine將受到的Response返回給spider處理

00007. Spider處理響應後,產生爬取項和新的請求給engine

00008. Engine將爬取項發送給ITEM PIPELINE(寫出數據)

00009. Engine將會爬取請求再次發給Scheduler進行調度(下一個週期的爬取)

系統化入門?

Scrapy是一個很強大的爬蟲框架,用起來很方便,但是要定製高級的功能就不是那麼簡單的了。我這裡只是簡單的介紹了一下框架的基本原理,但具體如何使用不是一時半會能夠說完的,如果你想要更加

系統化的學習理解這個框架:

我推薦官方的文檔:Scrapy 1.3 documentation

英文水平不好同學,我推薦下面兩個文檔:

1 文檔中文翻譯版:Introduction | scrapy 中文手冊

2 scrapy 中文手冊: Scrapy 0.24 文檔 - Scrapy 0.24.6 文檔

那麼我們就介紹到這裡,如果大家還需要別的乾貨,歡迎在評論區留言哦,另外,喜歡的話請點擊關注哦謝謝啦!

Scrapy 爬蟲框架的安裝與基本介紹


分享到:


相關文章: