scrapy框架:
scrapy 主要包括了以下元件:
1、引擎(scrapy engine):用來處理整個系統的資料流處理,並進行事務處理的觸發。
2、排程器(scheduler):用來接受引擎發過來的請求,併排序列入佇列中,並在引擎再次發出請求的時候返回。
4、蜘蛛(spiders):蜘蛛是主要幹活的,用它來制訂特定網域名稱或網頁的抓取和解析規則。
蜘蛛由scrapy使用者自己定義用來解析網頁並抓取制定url返回的內容的類,每個蜘蛛都能處理乙個網域名稱或一組網域名稱。
蜘蛛的整個抓取流程(週期):
(1)首先獲取第乙個url的初始請求,當請求返回後調取乙個**函式。第乙個請求是通過呼叫start_requests()方法。該方法預設從start_urls中的url中生成請求,並執行解析來呼叫**函式。
(3)在**函式中,解析**的內容,使用的是xpath選擇器(也可以使用beautifusoup, lxml或其他的程式),並生成解析的資料項。
(4)最後,從蜘蛛返回的專案通常會進駐到專案管道。
5、專案管道(item pipeline):負責處理有蜘蛛從網頁中抽取的專案,他的主要任務是清晰、驗證和儲存資料。當頁面被蜘蛛解析後,將被傳送到專案管道,並經過幾個特定的次序處理資料。每個專案管道的元件都是有乙個簡單的方法組成的python類。他們獲取了專案並執行他們的方法,同時他們還需要確定的是,是否需要在專案管道中繼續執行下一步或是直接丟棄掉不處理。
專案管道通常執行的過程有:
(1)清洗html資料
(2)驗證解析到的資料(檢查專案是否包含必要的字段)
(3)檢查是否是重複資料(如果重複就刪除)
(4)將解析到的資料儲存到資料庫中
7、蜘蛛中介軟體(spiders middlewares):介於 scrapy 引擎和蜘蛛之間的鉤子框架,主要工作是處理蜘蛛的響應輸入和請求輸出。它提供乙個自定義**的方式來拓展scrapy的功能。蛛中介軟體是乙個掛接到scrapy的蜘蛛處理機制的框架,可以插入自定義的**來處理傳送給蜘蛛的請求和返回蜘蛛獲取的響應內容和專案。
8、排程中介軟體(schedulermiddlewares)
:介於 scrapy 引擎和排程之間的中介軟體,從 scrapy 引擎傳送到排程的請求和響應。它提供了乙個自定義的**來拓展scrapy的功能。
資料處理流程:
scrapy的整個資料處理流程有scrapy引擎進行控制,其主要的執行方式為:非同步io:
twisted
scrapy爬蟲框架
作者經過幾周的python爬蟲實踐之後,深入學習了一下scrapy這個爬蟲框架,現將一些基本知識和 總結整理一下,以備後查。2.scrapy的命令列使用 這部分網上很多部落格都有總結,不需要背,理解會用主要的命令 startproject crawl fetch list genspider.即可,...
scrapy 爬蟲框架
1.安裝 公升級pip版本 pip install upgrade pip 通過pip安裝scrapy框架 pip install scrapy 安裝成功 只執行scrapy 進行測試是否安裝成功 2.scrapy startproject 爬蟲專案名稱 執行此命令,可以生成乙個爬蟲專案 會預先生成...
Scrapy爬蟲框架
scrapy中的各大元件及其功能 1.scrapy引擎 engine 引擎負責控制資料流在系統的所有元件中流動,並在相應動作發生時觸發事件。2.排程器 scheduler 排程器從引擎接收request並將它們入隊,以便之後引擎請求request時提供給引擎。4.spider。spider是scra...