国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談Scrapy網絡爬蟲框架的工作原理和數據采集

2020-02-16 01:04:43
字體:
來源:轉載
供稿:網友

今天小編給大家詳細的講解一下Scrapy爬蟲框架,希望對大家的學習有幫助。

1、Scrapy爬蟲框架

Scrapy是一個使用Python編程語言編寫的爬蟲框架,任何人都可以根據自己的需求進行修改,并且使用起來非常的方便。它可以應用在數據采集、數據挖掘、網絡異常用戶檢測、存儲數據等方面。

Scrapy使用了Twisted異步網絡庫來處理網絡通訊。整體架構大致如下圖所示。

2、由上圖可知Scrapy爬蟲框架主要由5個部分組成,分別是:Scrapy Engine(Scrapy引擎),Scheduler(調度器),Downloader(下載器),Spiders(蜘蛛),Item Pipeline(項目管道)。爬取過程是Scrapy引擎發送請求,之后調度器把初始URL交給下載器,然后下載器向服務器發送服務請求,得到響應后將下載的網頁內容交與蜘蛛來處理,爾后蜘蛛會對網頁進行詳細的解析。蜘蛛分析的結果有兩種:一種是得到新的URL,之后再次請求調度器,開始進行新一輪的爬取,不斷的重復上述過程;另一種是得到所需的數據,之后會轉交給項目管道繼續處理。項目管道負責數據的清洗、驗證、過濾、去重和存儲等后期處理,最后由Pipeline輸出到文件中,或者存入數據庫等。

3、這五大組件及其中間件的功能如下:

1) Scrapy引擎:控制整個系統的數據處理流程,觸發事務處理流程,負責串聯各個模塊

2) Scheduler(調度器):維護待爬取的URL隊列,當接受引擎發送的請求時,會從待爬取的URL隊列中取出下一個URL返回給調度器。

3) Downloader(下載器):向該網絡服務器發送下載頁面的請求,用于下載網頁內容,并將網頁內容交與蜘蛛去處理。

4) Spiders(蜘蛛):制定要爬取的網站地址,選擇所需數據內容,定義域名過濾規則和網頁的解析規則等。

5) Item Pipeline(項目管道):處理由蜘蛛從網頁中抽取的數據,主要任務是清洗、驗證、過濾、去重和存儲數據等。

6) 中間件(Middlewares):中間件是處于Scrapy引擎和Scheduler,Downloader,Spiders之間的構件,主要是處理它們之間的請求及響應。

Scrapy爬蟲框架可以很方便的完成網上數據的采集工作,簡單輕巧,使用起來非常方便。

4、 基于Scrapy的網絡爬蟲設計與實現

在了解Scrapy爬蟲原理及框架的基礎上,本節簡要介紹Scrapy爬蟲框架的數據采集過程。

4.1 建立爬蟲項目文件

基于scrapy爬蟲框架,只需在命令行中輸入“scrapy startproject article”命令,之后一個名為article的爬蟲項目將自動創建。首先進入到article文件夾下,輸入命令“cd article”,之后通過“dir”查看目錄,也可以通過“tree /f”生成文件目錄的樹形結構,如下圖所示,可以很清晰的看到Scrapy創建命令生成的文件。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东港市| 文水县| 长子县| 万山特区| 宁德市| 前郭尔| 淳化县| 漳州市| 普定县| 淮北市| 潍坊市| 哈尔滨市| 连州市| 辉县市| 大渡口区| 镇宁| 社会| 万盛区| 隆回县| 延寿县| 庆阳市| 和田市| 田阳县| 柯坪县| 芦溪县| 桂平市| 蛟河市| 湘乡市| 甘谷县| 龙泉市| 南雄市| 陆河县| 通城县| 广州市| 溧阳市| 新津县| 泾阳县| 古浪县| 江华| 高平市| 宁安市|