日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

scrapy框架的概念和流程

發布時間:2024/4/11 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy框架的概念和流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.scrapy框架的概念:

文檔地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html
Scrapy 使用了Twisted['tw?st?d]異步網絡框架,可以加快我們的下載速度。
Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架,我們只需要實現少量的代碼,就能夠快速的抓取。

2.異步和非阻塞的區別

  • 異步:調用在發出之后,這個調用就直接返回,不管有無結果;異步是過程。
  • 非阻塞:關注的是程序在等待調用結果(消息,返回值)時的狀態,指在不能立刻得到結果之前,該調用不會阻塞當前線程。
  • 3.scrapy的工作流程

    3.1 爬蟲流程

    3.2 上面的流程可以改寫為

    3.3 scrapy的流程

    其流程可以描述如下:

  • 調度器把requests–>引擎–>下載中間件—>下載器
  • 下載器發送請求,獲取響應---->下載中間件---->引擎—>爬蟲中間件—>爬蟲
  • 爬蟲提取url地址,組裝成request對象---->爬蟲中間件—>引擎—>調度器
  • 爬蟲提取數據—>引擎—>管道
  • 管道進行數據的處理和保存
  • 注意:

  • 圖中綠色線條的表示數據的傳遞
  • 注意圖中中間件的位置,決定了其作用
  • 注意其中引擎的位置,所有的模塊之前相互獨立,只和引擎進行交互
  • 3.4 scrapy中每個模塊的具體作用

    scrapy中每個模塊的作用:

  • 引擎(engine):負責數據和信號在不腰痛模塊間的傳遞
  • 調度器(scheduler):實現一個隊列,存放引擎發過來的request請求對象
  • 下載器(downloader):發送引擎發過來的request請求,獲取響應,并將響應交給引擎
  • 爬蟲(spider):處理引擎發過來的response,提取數據,提取url,并交給引擎
  • 管道(pipeline):處理引擎傳遞過來的數據,比如存儲 下載中間件(downloader middleware):可以自定義的下載擴展,比如設置代理ip 爬蟲中間件(spider middleware):可以自定義request請求和進行response過濾
  • 總結

    以上是生活随笔為你收集整理的scrapy框架的概念和流程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。