1. 程式人生 > >fake-useragent,python爬蟲偽裝請求頭

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

在編寫爬蟲進行網頁資料的時候,大多數情況下,需要在請求是增加請求頭,下面介紹一個python下非常好用的偽裝請求頭的庫:fake-useragent,具體使用說明如下:

1.在scrapy中的使用

第一步

pip install fake-useragent

第二步:在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())

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

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)

示例程式碼

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)