今日概要
- scrapy下載中間件
- UA池
- 代理池
今日詳情
一.下載中間件
先祭出框架圖:
下載中間件(Downloader Middlewares) 位於scrapy引擎和下載器之間的一層組件。
- 作用:
(1)引擎將請求傳遞給下載器過程中, 下載中間件可以對請求進行一系列處理。比如設置請求的 User-Agent,設置代理等
(2)在下載器完成將Response傳遞給引擎中,下載中間件可以對響應進行一系列處理。比如進行gzip解壓等。
我們主要使用下載中間件處理請求,一般會對請求設置隨機的User-Agent ,設置隨機的代理。目的在於防止爬取網站的反爬蟲策略。
二.UA池:User-Agent池
- 作用:盡可能多的將scrapy工程中的請求偽裝成不同類型的瀏覽器身份。
- 操作流程:
1.在下載中間件中攔截請求
2.將攔截到的請求的請求頭信息中的UA進行篡改偽裝
3.在配置文件中開啟下載中間件
代碼展示:
三.代理池
- 作用:盡可能多的將scrapy工程中的請求的IP設置成不同的。
- 操作流程:
1.在下載中間件中攔截請求
2.將攔截到的請求的IP修改成某一代理IP
3.在配置文件中開啟下載中間件
代碼展示: