【Scrapy學習心得】添加隨機用戶代理
聲明:僅供技術交流,請勿用於非法用途,如有其它非法用途造成損失,和本博客無關
添加隨機用戶代理即添加隨機User-Agent
只需修改scrapy
項目下的middlewares.py
中間件,廢話不多說,直接上代碼:
from scrapy import signals
import random
class UseragentDownloaderMiddleware(object):
USER_AGENTS=[
'Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)',
'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; Acoo Browser 1.98.744; .NET CLR 3.5.30729)',
'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1a3) Gecko/20060526 BonEcho/2.0a3',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Avant Browser; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Deepnet Explorer 1.5.3; Smart 2x2; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.1)',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14931',
'Mozilla/5.0 (Windows; U; Windows NT 6.1; x64; fr; rv:1.9.2.13) Gecko/20101203 Firebird/3.6.13',
'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0',
'Mozilla/5.0 (Windows; U; Windows NT 6.1; tr-TR) AppleWebKit/533.20.25 (KHTML, like Gecko) Version/5.0.4 Safari/533.20.27'
]
#每次請求前調用的函數
def process_request(self,request,spider):
user_agent = random.choice(self.USER_AGENTS)
request.headers['User-Agent'] = user_agent
可能有人想問去哪裏找那麼多User-Agent
啊,那麼你就問對人啦,上面的那些User_Agent
我是從這裏拿的。
最後別忘了在setting.py
文件中添加以下代碼,把這個添加請求頭中間件給打開:
DOWNLOADER_MIDDLEWARES = {
'hehe.middlewares.UseragentDownloaderMiddleware': 543,
}
寫在最後
不是因爲我懶,是因爲最近比較忙,到現在纔想起來該寫博客了。其實也沒什麼人看,人氣也不高,寫的東西也不是很專業、很高深。但是,我可能只是想找個可以傾訴的對象,閒着沒事的時候,對自己說話,跟自己聊天,因爲沒有人比自己更加了解自己了,最近我也想了很多,其實凡事還是得靠自己,別人是不會幫你的,就算是已經相處幾年的同學也是一樣。朝夕相處的人也不會了解你,你該長大了,該成熟一點了,凡事也要想開一點,畢竟腦子很忙,要是還要去管那些傷心的事情,那怎麼對得起自己的人生,人生還是很美好的。算了,不說了。