Q: Scrapy網頁爬蟲框架如何輪流替換User-Agent(使用者代理)? 
在Scrapy網頁爬蟲爬取網頁時,網站都會使用User-Agent(使用者代理)來識別所使用的瀏覽器版本資訊,而當Scrapy網頁爬蟲每次爬取都使用相同的User-Agent(使用者代理),就很容易被懷疑是網頁爬蟲而被封鎖。 
 
所以,如果Scrapy網頁爬蟲在發送請求的過程中,隨機使用不同的User-Agent(使用者代理),就可以大幅降低被偵測的風險。 
 
而要達到這樣的功能,就能夠利用以下指令來安裝scrapy-user-agents套件,讓Scrapy網頁爬蟲能夠隨機取用不同的User-Agent(使用者代理): 
$ pip install scrapy-user-agents 
 
接著,開啟Scrapy網頁爬蟲專案的settings.py檔案,在DOWNLOAD_MIDDLEWARES的地方,加入以下的設定: 
DOWNLOADER_MIDDLEWARES = { 
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None, 
    'scrapy_user_agents.middlewares.RandomUserAgentMiddleware': 400, 
} 
 
Q: Scrapy網頁爬蟲框架如何輪流替換Proxy IP(代理服務器IP)? 
同樣,如果Scrapy網頁爬蟲都使用相同的IP發送請求,很容易會被反爬蟲網站發現而封鎖。這時候,就會需要隨機使用不同的Proxy IP(代理服務器IP),降低被偵測的風險。 
 
可以利用以下指令安裝scrapy-rotating-proxies套件,來達成上述的效果: 
$ pip install scrapy-rotating-proxies 
 
開啟Scrapy網頁爬蟲傳案的settings.py檔案,加入以下的設定: 
 
ROTATING_PROXY_LIST_PATH = '/path/my_proxies.txt' 
  
DOWNLOADER_MIDDLEWARES = { 
    'rotating_proxies.middlewares.RotatingProxyMiddleware': 610, 
    'rotating_proxies.middlewares.BanDetectionMiddleware': 620, 
} 
 
其中,在自訂的Proxy IP檔案(my_proxies.txt)中加入Proxy IP,如下範例: 
ROTATING_PROXY_LIST = [ 
    'proxy_ip_1:8000', 
    'proxy_ip_2:8031', 
    ... 
] 
 
Q: Scrapy網頁爬蟲框架如何使用無頭瀏覽器(Headless Browser)? 
無頭瀏覽器(Headless Browser)也就是沒有圖形化的使用者介面瀏覽器,能夠模擬使用者在網頁上的操作,降低反爬蟲網站的偵測。 
 
 
 
)網站觀看更多精彩內容。