下面是scrapy架構圖,包括元件以及在系統中發生的資料流的概覽。
元件scrapy engine
引擎負責控制資料流在系統中所有元件中流動,並在相應動作發生時觸發事件。
排程器scheduler
排程器從引擎接受request並將它們入隊,以便之後引擎請求他們時提供給引擎。
spiders
spider是用於分析response並提取item和跟進url的類。每個spider負責處理乙個特定(或一些)**。
item pipeline
負責處理被spider提取出來的item。典型的處理有清理,驗證以及持久化(例如資料儲存到資料庫中)。
spider中介軟體spider middlewares
spider中介軟體是在引擎及spider之間的特定鉤子,處理spider的輸入(response)和輸出(items和requests).
資料流 data flow
scrapy中的資料流由引擎控制,過程如下:
1、引擎開啟乙個**,找到處理該**的spider,並向該spider請求第乙個要爬取的url。
2、引擎從spider拿到第乙個爬取的url並在排程器scheduler以request排程。
3、引擎向排程器請求下乙個要爬取的url。
7、spider處理response並返回爬取到的item以及新的request給引擎。
8、引擎(spider返回的)爬取到的item給item pipeline,將(spider返回的)request給排程器。
Python爬蟲之爬蟲概述
知識點 模擬瀏覽器,傳送請求,獲取響應 網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端 主要指瀏覽器 傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。知識點 了解 爬蟲的概念 爬蟲在網際網路世界中有很多的作用,比如 資料採集 抓取招聘 的招聘資訊 資料分析 挖掘...
python爬蟲感悟 Python之爬蟲有感(一)
urllib.request.request url headers headers user agent 是爬蟲和反爬蟲鬥爭的第一步,傳送請求必須帶user agent 使用流程 1 建立請求物件 request urlllib.request.request url 2 傳送請求獲取響應物件 r...
python爬蟲header 爬蟲之header
有些 不會同意程式直接用上面的方式進行訪問,如果識別有問題,那麼站點根本不會響應,所以為了完全模擬瀏覽器的工作,我們需要設定一些headers 的屬性。首先,開啟我們的瀏覽器,除錯瀏覽器f12,我用的是chrome,開啟網路監聽,示意如下,比如知乎,點登入之後,我們會發現登陸之後介面都變化了,出現乙...