這篇文章中寫了常用的下載中間件的用法和例子。
Downloader Middleware處理的過程主要在調度器發(fā)送requests請求的時候以及網頁將response結果返回給spiders的時候,所以從這里我們可以知道下載中間件是介于Scrapy的request/response處理的鉤子,用于修改Scrapy request和response。
編寫自己的下載器中間件
編寫下載器中間件,需要定義以下一個或者多個方法的python類
為了演示這里的中間件的使用方法,這里創(chuàng)建一個項目作為學習,這里的項目是關于爬去httpbin.org這個網站
scrapy startproject httpbintest
cd httpbintest
scrapy genspider example example.com
創(chuàng)建好后的目錄結構如下:
這里我們先寫一個簡單的代理中間件來實現(xiàn)ip的偽裝
創(chuàng)建好爬蟲之后我們講httpbin.py中的parse方法改成:
def parse(self, response): print(response.text)
然后通過命令行啟動爬蟲:scrapy crawl httpbin
在最下面我們可以看到"origin": "114.250.88.66"
我們在查看自己的ip:
而我們要做就是通過代理中間件來實現(xiàn)ip的偽裝,在middleares.py中寫如下的中間件類:
網友評論