scrapy工作流程和每個模組的具體作用

賈富程發表於2018-12-19

scrapy工作流程和每個模組的具體作用

其流程可以描述如下:
  1. 爬蟲中起始的url構造成request物件-->爬蟲中介軟體-->引擎-->排程器
  2. 排程器把request-->引擎-->下載中介軟體--->下載器
  3. 下載器傳送請求,獲取response響應---->下載中介軟體---->引擎--->爬蟲中介軟體--->爬蟲
  4. 爬蟲提取url地址,組裝成request物件---->爬蟲中介軟體--->引擎--->排程器,重複步驟2
  5. 爬蟲提取資料--->引擎--->管道處理和儲存資料

scrapy工作流程和每個模組的具體作用

注意:
  • 爬蟲中介軟體和下載中介軟體只是執行邏輯的位置不同,作用是重複的:如替換UA等

小結

  1. scrapy的概念:Scrapy是一個為了爬取網站資料,提取結構性資料而編寫的應用框架
  2. scrapy框架的執行流程以及資料傳遞過程:
    1. 爬蟲中起始的url構造成request物件-->爬蟲中介軟體-->引擎-->排程器
    2. 排程器把request-->引擎-->下載中介軟體--->下載器
    3. 下載器傳送請求,獲取response響應---->下載中介軟體---->引擎--->爬蟲中介軟體--->爬蟲
    4. 爬蟲提取url地址,組裝成request物件---->爬蟲中介軟體--->引擎--->排程器,重複步驟2
    5. 爬蟲提取資料--->引擎--->管道處理和儲存資料
  3. scrapy框架的作用:通過少量程式碼實現快速抓取
  4. 掌握scrapy中每個模組的作用: 引擎(engine):負責資料和訊號在不腰痛模組間的傳遞 排程器(scheduler):實現一個佇列,存放引擎發過來的request請求物件 下載器(downloader):傳送引擎發過來的request請求,獲取響應,並將響應交給引擎 爬蟲(spider):處理引擎發過來的response,提取資料,提取url,並交給引擎 管道(pipeline):處理引擎傳遞過來的資料,比如儲存 下載中介軟體(downloader middleware):可以自定義的下載擴充套件,比如設定代理ip 爬蟲中介軟體(spider middleware):可以自定義request請求和進行response過濾,與下載中介軟體作用重複


相關文章