這篇文章中寫了常用的下載中間件的用法和例子。
Downloader Middleware處理的過程主要在調(diào)度器發(fā)送requests請求的時候以及網(wǎng)頁將response結(jié)果返回給spiders的時候,所以從這里我們可以知道下載中間件是介于Scrapy的request/response處理的鉤子,用于修改Scrapy request和response。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

編寫自己的下載器中間件

編寫下載器中間件,需要定義以下一個或者多個方法的python類

為了演示這里的中間件的使用方法,這里創(chuàng)建一個項(xiàng)目作為學(xué)習(xí),這里的項(xiàng)目是關(guān)于爬去httpbin.org這個網(wǎng)站
scrapy startproject httpbintest 
cd httpbintest
scrapy genspider example example.com

創(chuàng)建好后的目錄結(jié)構(gòu)如下:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

這里我們先寫一個簡單的代理中間件來實(shí)現(xiàn)ip的偽裝
創(chuàng)建好爬蟲之后我們講httpbin.py中的parse方法改成:

    def parse(self, response):        print(response.text)

然后通過命令行啟動爬蟲:scrapy crawl httpbin

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

在最下面我們可以看到"origin": "114.250.88.66"
我們在查看自己的ip:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

 

 而我們要做就是通過代理中間件來實(shí)現(xiàn)ip的偽裝,在middleares.py中寫如下的中間件類:

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式