【Scrapy】scrapy 開發(1)-- 介紹

scrapy 簡介python

scrapy 是使用python語言開發的網絡爬蟲框架。 具備下面幾個特色:網絡

設計簡單,用戶只須要簡單定義數據提取規則,讓scrapy完成抓取的工做,便可獲取數據。 提供豐富的插件擴展機制 開源,100%用python編寫(基於twisted框架) 官方文檔比較詳細框架

scrapy 主要組件scrapy

  • scrapy engine, 控制整個爬蟲的運行,請求調度,spider調用,下載調用,信號事件觸發
  • spider(蜘蛛), 用來解析頁面的類,解析後建立新的請求,或者建立數據結果集合
  • scheduler(調度器), 負責管理請求(來自spider),存入隊列,執行時返回給 scrapy引擎
  • Downloader(下載器),抓取頁面並返回結果給spider
  • Item pipeline(item管道), 處理網頁中抽取的數據結果,進行清洗,校驗,存儲等操做
  • Downloader middlewares(下載器中間件),下載器與spider之間的勾子,能夠對請求和響應的數據進行操做
  • extensions(擴展),在scrapy啓動時初始化,提供加強的輔助功能

上面是我主要用到的一些組件,還有 spider middlerwares等沒包含在內ide

scrapy 運行機制url

  • 引擎調用蜘蛛獲取第一個要抓取的url, 存入調度器
  • 引擎從調度器獲取請求url(上面放入的url),
  • 引擎傳遞請求 -> 下載中間件 -> 下載器
  • 下載器下載頁面,響應結果 -> 下載中間件 -> 引擎
  • 引擎把響應結果交給蜘蛛處理
  • 蜘蛛處理響應,建立結果Item和新的請求
  • 結果item交給 item管道處理
  • 新的請求存入調度器,重複上面的操做
相關文章
相關標籤/搜索