今日概要python
今日詳情瀏覽器
一.下載中間件app
先祭出框架圖:框架
下載中間件(Downloader Middlewares) 位於scrapy引擎和下載器之間的一層組件。dom
- 做用:scrapy
(1)引擎將請求傳遞給下載器過程當中, 下載中間件能夠對請求進行一系列處理。好比設置請求的 User-Agent,設置代理等ide
(2)在下載器完成將Response傳遞給引擎中,下載中間件能夠對響應進行一系列處理。好比進行gzip解壓等。網站
咱們主要使用下載中間件處理請求,通常會對請求設置隨機的User-Agent ,設置隨機的代理。目的在於防止爬取網站的反爬蟲策略。url
二.UA池:User-Agent池spa
- 做用:儘量多的將scrapy工程中的請求假裝成不一樣類型的瀏覽器身份。
- 操做流程:
1.在下載中間件中攔截請求
2.將攔截到的請求的請求頭信息中的UA進行篡改假裝
3.在配置文件中開啓下載中間件
代碼展現:
三.代理池
- 做用:儘量多的將scrapy工程中的請求的IP設置成不一樣的。
- 操做流程:
1.在下載中間件中攔截請求
2.將攔截到的請求的IP修改爲某一代理IP
3.在配置文件中開啓下載中間件
代碼展現: