成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章教會你理解Scrapy網絡爬蟲框架的工作原理和數據采集過程

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

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

/ 01 / Scrapy爬蟲框架

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

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

/ 02 / Scrapy爬蟲框架組成

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

/ 03 / 五大組件及其中間件的功能

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

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

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

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

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

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

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

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

/ 04 / 基于Scrapy的網絡爬蟲設計與實現

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

4.1 建立爬蟲項目文件

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

爬蟲項目目錄結構

頂層的article文件夾是項目名,第二層中包含的是一個與項目名同名的文件夾article和一個文件scrapy.cfg,這個與項目同名的文件夾article是一個模塊,所有的項目代碼都在這個模塊內添加,而scrapy.cfg文件是整個Scrapy項目的配置文件。第三層中有5個文件和一個文件夾,其中__init__.py是個空文件,作用是將其上級目錄變成一個模塊;items.py是定義儲對象的文件,決定爬取哪些項目;middlewares.py文件是中間件,一般不用進行修改,主要負責相關組件之間的請求與響應;pipelines.py是管道文件,決定爬取后的數據如何進行處理和存儲;settings.py是項目的設置文件,設置項目管道數據的處理方法、爬蟲頻率、表名等;spiders文件夾中放置的是爬蟲主體文件(用于實現爬蟲邏輯)和一個__init__.py空文件。

4.2 之后開始進行網頁結構與數據分析、修改Items.py文件、編寫hangyunSpider.py文件、修改pipelines.py文件、修改settings.py文件,這些步驟的具體操作后期會文章專門展開,在此不再贅述。

4.3 執行爬蟲程序

修改上述四個文件之后,在Windows命令符窗口中輸入cmd 命令進入到爬蟲所在的路徑,并執行“scrapy crawl article”命令,這樣就可以運行爬蟲程序了,最后保存數據到本地磁盤上。

/ 05 / 結束語

隨著互聯網信息的與日俱增,利用網絡爬蟲工具來獲取所需信息必有用武之地。使用開源的Scrapy爬蟲框架,不僅可以實現對web上信息的高效、準確、自動的獲取,還利于研究人員對采集到的數據進行后續的挖掘分析。

 

責任編輯:姜華 來源: Python爬蟲與數據挖掘
相關推薦

2019-10-17 19:15:22

jQueryJavaScript前端

2020-11-13 08:14:28

JavaScript

2023-06-21 00:10:17

JSONWeb服務器JavaScript

2021-02-19 19:35:53

SVG 形狀元素

2021-02-17 20:40:22

SVG圖像模式

2021-03-02 18:35:27

SVG開發空間

2021-12-28 09:27:45

Javascript 高階函數前端

2021-03-04 14:10:04

Mysql數據庫數據表

2020-12-01 09:36:35

SVG元素屬性

2021-05-29 10:20:54

GoModules語言

2021-02-24 10:14:04

PythonClassPython基礎

2020-12-16 08:07:28

語言基礎反射

2021-09-15 10:00:33

Go語言Modules

2021-03-19 10:01:41

SVG畫多邊形Htm基礎

2023-04-06 08:37:24

2019-08-29 14:46:15

Kubernetes網絡通信

2020-12-10 08:20:27

Python微博評論

2021-01-14 18:03:31

Python抖音app數據

2021-12-13 10:31:28

抖音AppPython

2020-12-20 09:59:13

Go語言基礎技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产91久久久久久三级 | 秋霞影院一区二区 | 综合久久久久久久 | 99热在线播放 | 亚洲午夜精品久久久久久app | 久久久久中文字幕 | 91一区二区三区在线观看 | 国产精品久久久久久妇女6080 | 久久国产精品视频 | 最近中文字幕在线视频1 | 日韩一区二区三区视频在线观看 | 亚洲免费在线观看 | 欧美 日韩 国产 成人 | 久久亚洲精品视频 | www.日本在线 | 天天爽天天操 | 毛片网在线观看 | 国产福利91精品 | 亚洲精品乱 | 午夜在线小视频 | 波多野结衣一区二区三区在线观看 | 欧美综合在线观看 | 久久久久久国产精品免费免费狐狸 | 精品视频一区二区三区在线观看 | 一区网站 | 欧美伦理一区 | 美女日批免费视频 | 久久久精彩视频 | 男人天堂久久 | 免费啪啪 | 欧美激情精品久久久久久 | 黄网站在线播放 | 精品国产91乱码一区二区三区 | 一二三区av | 日韩精品免费在线观看 | 国产91精品久久久久久久网曝门 | 美日韩中文字幕 | 97av视频在线 | 国产精品区二区三区日本 | 毛片在线视频 | www.色综合 |