国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Scrapy抓取京東商品、豆瓣電影及代碼分享

2020-02-16 10:49:09
字體:
來源:轉載
供稿:網友

 1.scrapy基本了解

  Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架??梢詰迷诎〝祿诰?, 信息處理或存儲歷史數據等一系列的程序中。其最初是為了頁面抓取(更確切來說,網絡抓取)所設計的,也可以應用在獲取API所返回的數據(比如Web Services)或者通用的網絡爬蟲。

  Scrapy也能幫你實現高階的爬蟲框架,比如爬取時的網站認證、內容的分析處理、重復抓取、分布式爬取等等很復雜的事。

Scrapy主要包括了以下組件:

引擎(Scrapy): 用來處理整個系統的數據流處理, 觸發事務(框架核心) 調度器(Scheduler): 用來接受引擎發過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網頁的網址或者說是鏈接)的優先隊列, 由它來決定下一個要抓取的網址是什么, 同時去除重復的網址 下載器(Downloader): 用于下載網頁內容, 并將網頁內容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的) 爬蟲(Spiders): 爬蟲是主要干活的, 用于從特定的網頁中提取自己需要的信息, 即所謂的實體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續抓取下一個頁面 項目管道(Pipeline): 負責處理爬蟲從網頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。當頁面被爬蟲解析后,將被發送到項目管道,并經過幾個特定的次序處理數據。 下載器中間件(Downloader Middlewares): 位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應。 爬蟲中間件(Spider Middlewares): 介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應輸入和請求輸出。 調度中間件(Scheduler Middewares): 介于Scrapy引擎和調度之間的中間件,從Scrapy引擎發送到調度的請求和響應。

  Scrapy運行流程大概如下:
1.首先,引擎從調度器中取出一個鏈接(URL)用于接下來的抓取

2.引擎把URL封裝成一個請求(Request)傳給下載器,下載器把資源下載下來,并封裝成應答包(Response)

3.然后,爬蟲解析Response

4.若是解析出實體(Item),則交給實體管道進行進一步的處理。

5.若是解析出的是鏈接(URL),則把URL交給Scheduler等待抓取

  2.安裝scrapy

      虛擬環境安裝:
    sudo pip install virtualenv #安裝虛擬環境工具
    virtualenv ENV #創建一個虛擬環境目錄
    source ./ENV/bin/active #激活虛擬環境
    pip install Scrapy #驗證是否安裝成功
    pip list #驗證安裝

    可以如下測試:

    scrapy bench

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 环江| 伊金霍洛旗| 鄂温| 图木舒克市| 孝感市| 平安县| 武汉市| 桂阳县| 郁南县| 涿州市| 抚松县| 永福县| 仪征市| 高安市| 池州市| 菏泽市| 永丰县| 海兴县| 昌都县| 当阳市| 五原县| 忻城县| 鲁甸县| 曲阜市| 玛曲县| 通化县| 永吉县| 大方县| 奇台县| 丰台区| 出国| 海城市| 沂水县| 乐平市| 大安市| 监利县| 澜沧| 五大连池市| 久治县| 麦盖提县| 彰化县|