1. 程式人生 > >大資料開發神器——Scrapy Spider框架

大資料開發神器——Scrapy Spider框架

說道Python,估計很多同學跟我一樣都是從學習Python的爬蟲開始的。當然你可以使用lxml、BeautifulSoup、Request等第三方庫來編寫自己的爬蟲。但是當需要爬取海量資料,特別是大資料的實際應用中,若自己編寫爬蟲,是一件特別困難的事情。還好Python提供了類似Scrapy等類似的爬蟲框架(人生苦短,我用Python)

Scrapy框架介紹

大資料開發神器——Scrapy Spider框架

Scrapy Spider 框架圖

Scrapy | A Fast and Powerful Scraping and Web Crawling Framework

Scrapy框架主要包括:

Scrapy Engine(引擎)、Scheduler(排程器)、Downloader(下載器)、Spiders(爬蟲)、Item Pipeline、Downloader Middlewares(下載中介軟體)、Spider Middlewares(Spider中介軟體)

1、Scrapy Engine(引擎):負責Spiders、ItemPipeline、Downloader、Scheduler中間的通訊,訊號、資料傳遞等等!(爬蟲的大腦)

2、Scheduler(排程器): 負責接受引擎傳送過來的requests請求,並按照一定的方式進行整理排列,入隊、並等待Scrapy Engine(引擎)來請求時,交給引擎

3、Downloader(下載器):負責下載Scrapy Engine(引擎)傳送的所有Requests請求,並將其獲取到的Responses交還給Scrapy Engine(引擎),由引擎交給Spiders來處理

 

4、Spiders(爬蟲):它負責處理所有Responses,從中分析提取資料,獲取Item欄位需要的資料,並將需要跟進的URL提交給引擎,再次進入Scheduler(排程器),

5、Item Pipeline:負責處理Spiders中獲取到的Item,並進行處理,比如去重,持久化儲存(存資料庫,寫入檔案,總之就是儲存資料用的)

6、Downloader Middlewares(下載中介軟體):一個可以自定義擴充套件下載功能的元件

7、Spider Middlewares(Spider中介軟體):一個可以自定義擴充套件和操作引擎,負責Spiders中間‘通訊‘的功能元件(比如進入Spiders的Responses和從Spiders出去的Requests)

本人對於大資料學習建立了一個小小的學習圈子,為各位提供了一個平臺,大家一起來討論學習大資料。歡迎各位
到來大資料學習群:868847735 一起討論視訊分享學習。大資料是未來的發展方向,正在挑戰我們的分析能力及對
世界的認知方式,因此,我們與時俱進,迎接變化,並不斷的成長,掌握大資料核心技術,才是掌握真正的價值所
在。