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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

scrapy框架的理解

發(fā)布時(shí)間:2023/11/30 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scrapy框架的理解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  在每一次學(xué)習(xí)一個(gè)新東西之前,需要知道的幾個(gè)問題。這個(gè)東西是什么(what),怎么使用(how),為什么(why)

scrapy的概念:Scrapy是一個(gè)為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的框架。

scrapy的作用:通過(guò)少量代碼實(shí)現(xiàn)快速抓取。

scrapy一共有5個(gè)模塊和2個(gè)中間件,模塊分別是Spider爬蟲模塊,engine引擎模塊,scheduler調(diào)度器模塊,Downloader下載器模塊,Pipeline管道模塊。中間件分別是Downloader--Middlewares(下載器中間件),

Spider-Middlewares(爬蟲中間件)。

engine引擎模塊:負(fù)責(zé)數(shù)據(jù)和信號(hào)在不同模塊間的傳遞。

scheduler調(diào)度器模塊:實(shí)現(xiàn)一個(gè)隊(duì)列,存放引擎發(fā)過(guò)來(lái)的request請(qǐng)求對(duì)象。

Downloader下載器模塊:發(fā)送引擎發(fā)過(guò)來(lái)的request請(qǐng)求,獲取響應(yīng),并將response傳遞給引擎。

Spider爬蟲模塊:處理引擎發(fā)過(guò)來(lái)的response,提取數(shù)據(jù),提取url,并交給引擎。

Pipeline管道模塊:處理引擎?zhèn)鬟f過(guò)來(lái)的數(shù)據(jù),比如存儲(chǔ)。格式可以是csv、json、mongodb、redis、mysql.

下載中間件(downloader middleware):可以自定義的下載擴(kuò)展,比如設(shè)置代理Ip。

爬蟲中間件(spider middleware):可以自定義request請(qǐng)求和進(jìn)行response過(guò)濾。

?

scrapy的工作原理流程:

1.spider---request---engine

2.engine---request---scheduler

3.scheduler---request---engine

4.engine---request---downloader

5.downloader---response---engine

6.engine---response---spider

7.spider---new_url---engine

重復(fù)1-6

8.spider---data---engine

9.engine---data---pipeline

?

scrapy框架的運(yùn)行流程以及數(shù)據(jù)傳遞過(guò)程:

  • 調(diào)度器把requests-->引擎-->下載中間件--->下載器
  • 下載器發(fā)送請(qǐng)求,獲取響應(yīng)---->下載中間件---->引擎--->爬蟲中間件--->爬蟲
  • 爬蟲提取url地址,組裝成request對(duì)象---->爬蟲中間件--->引擎--->調(diào)度器
  • 爬蟲提取數(shù)據(jù)--->引擎--->管道
  • 管道進(jìn)行數(shù)據(jù)的處理和保存
  • ?

    轉(zhuǎn)載于:https://www.cnblogs.com/hjl666/p/10882737.html

    總結(jié)

    以上是生活随笔為你收集整理的scrapy框架的理解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。