Fake-useragentライブラリを使用して、User-Agentをランダムに交換
1492 ワード
このライブラリの使用方法は、ドキュメントを参照してください.https://github.com/hellysmile/fake-useragent
ステップ1:
ステップ2:middlewaresでダウンロードミドルウェアを構成します.
ステップ3:settingsで構成
scrapyで使用しない場合は、次の手順に従います.
できます.
ステップ1:
pip install fake-useragent
ステップ2:middlewaresでダウンロードミドルウェアを構成します.
class RandomUserAgentMiddleware(object):
# user_agent
def __init__(self, crawler):
super(RandomUserAgentMiddleware,self).__init__()
self.ua = UserAgent()
self.ua_type = crawler.settings.get("RANDOM_UA_TYPE","random")#
@classmethod
def from_crawler(cls, crawler):
return cls(crawler)# crawler,
def process_request(self,request,spider):
def get_ua():
return getattr(self.ua,self.ua_type)# ua ua_type , random
request.headers.setdefault('User-Agent',get_ua())
ステップ3:settingsで構成
RANDOM_UA_TYPE = "random"
USER_AGENT ='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en',
'User-Agent':USER_AGENT,
}
scrapyで使用しない場合は、次の手順に従います.
from fake_useragent import UserAgent
ua = UserAgent()
headers = {'User-Agent':ua.random}
できます.