scrapy 設定隨機UA

2021-10-24 16:25:59 字數 1494 閱讀 2502

爬蟲過程中的反爬措施非常重要,其中設定隨機 user-agent 是一項重要的反爬措施,scrapy 中設定隨機 ua 的方式有很多種,有的複雜有的簡單。

首先,說一下常規情況不使用 scrapy 時的用法,比較方便的方法是利用fake_useragent包,這個包內建大量的 ua 可以隨機替換,這比自己去蒐集羅列要方便很多,下面來看一下如何操作。

首先,安裝好fake_useragent包,一行**搞定:

pip install fake-useragent
然後,就可以測試了:

from fake_useragent import useragent

ua = useragent(

)for i in

range(10

):print

(ua.random)

這種方法是在 settings.py 檔案中手動新增一些 ua,然後通過 random.choise 方法隨機呼叫,即可生成 ua,這種方便比較麻煩的就是需要自己去找 ua,而且增加了**行數量。

**如下:

from scrapy.**********middlewares.useragent import useragentmiddleware

import random

class

randomuseragentmiddleware

(useragentmiddleware)

:"""

自動隨機更換ua

"""def__init__

(self, user_agent_list)

:super

(randomuseragentmiddleware, self)

.__init__(

) self.user_agent_list = user_agent_list

@classmethod

deffrom_crawler

(cls, crawler)

:return cls(

user_agent_list=crawler.settings.get(

'user_agent'))

defprocess_request

(self, request, spider)

: random_user_agent = random.choice(self.user_agent_list)

request.headers.setdefault(

'user-agent'

, random_user_agent)

然後,我們回到 settings.py 檔案中呼叫自定義的 useragent,注意這裡要先關閉預設的 ua 設定方法才行。

**********_middlewares =

scrapy 動態IP 隨機UA 驗證碼

middlewares增加自定義 from fake useragent import useragent class randomuseragentmiddlware object 隨機更換user agent def init self,crawler super randomuseragent...

python爬蟲新增隨機UA

mozilla 4.0 compatible msie 4.0 windows me trident 4.0 sv1 net clr 1.0.3705 net clr 3.0.04320 msn optimizedie8 zhcn mozilla 4.0 compatible msie 4.0 wi...

反爬蟲 Scrapy設定隨機請求頭

在這裡給大家推薦乙個包含全球所有的user agent的 位址 效果圖如下 這裡我隨機選了幾個關於谷歌和火狐瀏覽器中的ua,然後再scrapy框架中的middlewares.py中新增加乙個類 在裡面構建了乙個user agent的列表,效果如下 python class useragentdown...