生活随笔
收集整理的這篇文章主要介紹了
python-scrapy爬虫框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
scrapy爬蟲框架
? ? 1.Scrapy爬蟲框架
scrapy 不是一個函數功能庫,而是一個爬蟲框架。scrapy爬蟲框架: 爬蟲框架是實現爬蟲功能的一個軟件結構和功能組件集合。.簡單說爬蟲框架是一個半成品,能夠幫助用戶實現專業網絡爬蟲。scrapy爬蟲框架共包含七個部分(5+2結構),五個主體部分,兩個中間件。數據流如圖。框架的入口SPIDERS,出口為ITEM PIPELINES,DOWNLOADER,ENGIN,SCHEDULER模塊已經實現了,用戶只需要編寫ITEM PIPELINES和SPIDERS模塊。SPIDERS提供需要訪問的url鏈接,同時對網頁進行解析,而ITEM PIPELINES對頁面的后處理。?這種對模塊代碼的編寫方式,也可以叫做配置。
2.模塊介紹
Engin:控制所有模塊之間的數據流,根據條件觸發事件,不需要用戶修改。Downloader:根據請求下載頁面,不需要用戶修改。Scheduler:對所有爬取請求進行調度管理,不需要用戶修改。中間件模塊Downloader Middleware 實施Engin,Scheduler和Downloader之間用戶可配置的控制。通過中間件修改,丟棄,新增請求或響應。Spider:解析Downloader返回的響應(Response),產生爬取項(scraped item)和爬取請求(Requset),是最核心單元,是需要用戶編寫主要模塊。Item Piplines:以流水線方式處理Spide產生的爬取項。有一組操作順序組成,每個操作是一個Item Pipline類型。包括清理,檢驗和查重爬取項中的ITEM數據,將數據存儲到數據庫等操作。需人工配置。Spider Middleware: 對請求和爬取項再處理。通過中間件修改,丟棄,新增請求或爬取項。
? ??
3.requests庫與Scarpy
相同點:都可以進行網頁請求和爬取,是python的兩個重要的爬蟲實現路線;可用性好;都沒有處理js,提交表單,應對驗證碼的功能;
requests VS. scrapy| requests | scrapy |
| 網頁級爬蟲 | 網站級爬蟲 |
| 功能庫 | 框架 |
| 并發性考慮不足,性能差 | 并發性好,性能較高 |
| 重點在頁面下載 | 重點在爬蟲結構 |
| 定制靈活 | 一般定制靈活,深度定制難 |
| 上手簡單 | 入門稍難 |
?
小需求,推薦使用requests庫,不太小的推薦使用scrapy框架。自搭框架建議使用requests。
總結
以上是生活随笔為你收集整理的python-scrapy爬虫框架的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。