網(wǎng)絡(luò)爬蟲簡答題

1.url:一個url定位一個網(wǎng)絡(luò)資源

2.beautiful Soup是一個用于從HTM和xml文件中提取數(shù)據(jù)的Python庫

3.一個爬蟲的程序的結(jié)構(gòu):調(diào)度模塊,網(wǎng)路模塊,爬蟲模塊,item模塊、Piplines模塊

4.Scrapy運行流程大概如下:

首先,引擎從調(diào)度器中取出一個鏈接(URL)用于接下來的抓取
引擎把URL封裝成一個請求(Request)傳給下載器,下載器把資源下載下來,并封裝成應答包(Response)
然后,爬蟲解析Response
若是解析出實體(Item),則交給實體管道進行進一步的處理。
若是解析出的是鏈接(URL),則把URL交給Scheduler等待抓取

5.Scrapy主要包括了以下組件:

引擎(Scrapy): 用來處理整個系統(tǒng)的數(shù)據(jù)流處理, 觸發(fā)事務(wù)(框架核心)
調(diào)度器(Scheduler): 用來接受引擎發(fā)過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網(wǎng)頁的網(wǎng)址或者說是鏈接)的優(yōu)先隊列, 由它來決定下一個要抓取的網(wǎng)址是什么, 同時去除重復的網(wǎng)址
下載器(Downloader): 用于下載網(wǎng)頁內(nèi)容, 并將網(wǎng)頁內(nèi)容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)
爬蟲(Spiders): 爬蟲是主要干活的, 用于從特定的網(wǎng)頁中提取自己需要的信息, 即所謂的實體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個頁面
項目管道(Pipeline): 負責處理爬蟲從網(wǎng)頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。當頁面被爬蟲解析后,將被發(fā)送到項目管道,并經(jīng)過幾個特定的次序處理數(shù)據(jù)。
下載器中間件(Downloader Middlewares): 位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應。
爬蟲中間件(Spider Middlewares): 介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應輸入和請求輸出。
調(diào)度中間件(Scheduler Middewares): 介于Scrapy引擎和調(diào)度之間的中間件,從Scrapy引擎發(fā)送到調(diào)度的請求和響應。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文希望達到以下目標: 簡要介紹Scarpy 閱讀官網(wǎng)入門文檔并實現(xiàn)文檔中的范例 使用Scarpy優(yōu)豆瓣爬蟲的抓取...
    Andrew_liu閱讀 82,364評論 30 177
  • 《這就是搜索引擎》這本書的第二章是關(guān)于爬蟲的,干貨很多(文章幾乎沒有廢話,所以復制居多),可以參考搜索引擎是如何構(gòu)...
    SeanCheney閱讀 2,171評論 0 20
  • 一,pyspider pyspider的設(shè)計基礎(chǔ)是:以python腳本驅(qū)動的抓取環(huán)模型爬蟲 通過python腳本進...
    學而不厭888閱讀 953評論 0 1
  • 哈利波特
    冰月亮閱讀 115評論 0 0
  • 在這個提筆忘字的時代,在這泯滅一切的似水流年里,是否還能記起書寫的感覺,手指劃過紙張的觸感,心中流淌情感,思緒縈...
    不沸騰孩子閱讀 75評論 0 0

友情鏈接更多精彩內(nèi)容