fake-useragent,python爬蟲假裝請求頭

在編寫爬蟲進行網頁數據的時候,大多數狀況下,須要在請求是增長請求頭,下面介紹一個python下很是好用的假裝請求頭的庫:fake-useragent,具體使用說明以下:html

1.在scrapy中的使用

第一步python

pip install fake-useragent

第二步:在middlewares中配置下載中間件。chrome

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())

第三步:在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, }

2不是在scrapy中的使用

pip install fake-useragent

 

獲取各瀏覽器的fake-useragentapp

from fake_useragent import UserAgent ua = UserAgent() #ie瀏覽器的user agent
print(ua.ie) #opera瀏覽器
print(ua.opera) #chrome瀏覽器
print(ua.chrome) #firefox瀏覽器
print(ua.firefox) #safri瀏覽器
print(ua.safari) #最經常使用的方式 #寫爬蟲最實用的是能夠隨意變換headers,必定要有隨機性。支持隨機生成請求頭
print(ua.random) print(ua.random) print(ua.random)

示例代碼dom

from fake_useragent import UserAgent import requests ua=UserAgent() #請求的網址
url="https://www.baidu.com"
#請求頭
headers={"User-Agent":ua.random} #請求網址
response=requests.get(url=url,headers=headers) #響應體內容
print(response.text) #響應狀態信息
print(response.status_code) #響應頭信息
print(response.headers)
相關文章
相關標籤/搜索