1、 什么是User-Agent
User-Agetn是Http協(xié)議中的一部分,簡單的說是瀏覽器向所訪問網(wǎng)站提供你所使用的瀏覽器類型孩等、操作系統(tǒng)、瀏覽器內(nèi)核等信息的標識采够。通過這個標識肄方,用戶所訪問的網(wǎng)站可以顯示不同的排版從而為用戶提供更好的體驗,比如用手機打開網(wǎng)站會顯示手機版的網(wǎng)頁蹬癌。
2权她、 Firefox中如何設(shè)置User-Agent
在Firefox中可以下載User Agent Switcher擴展來設(shè)置和切換UA,通過這個瀏覽器插件逝薪,可以很方便的切換為各類桌面操作系統(tǒng)的瀏覽器和移動端的瀏覽器隅要,還可以模擬谷歌搜索爬蟲翼闽。
如果你想知道自己的瀏覽器或者手機瀏覽器所使用UA是什么,可以訪問如下地址查看:
3感局、設(shè)置User-Agent可以干什么
不同的人有不同的用處,對于前端工程師可以模擬各類瀏覽器询微,查看不同瀏覽器的顯示效果崖瞭。
對于測試人員可以方便的測試各種瀏覽器是否能兼容撑毛。
有一些網(wǎng)站不喜歡被爬蟲程序訪問,所以會檢測連接對象藻雌,如果是爬蟲程序,也就是非人點擊訪問胯杭,它就會不讓你繼續(xù)訪問驯杜,所以為了要讓程序可以正常運行,需要隱藏自己的爬蟲程序的身份做个。此時鸽心,我們就可以通過設(shè)置User Agent的來達到隱藏身份的目的。
User Agent存放于Headers中居暖,服務(wù)器就是通過查看Headers中的User Agent來判斷是誰在訪問顽频。在Python中,如果不設(shè)置User Agent太闺,程序?qū)⑹褂媚J的參數(shù)糯景,那么這個User Agent就會有Python的字樣,如果服務(wù)器檢查User Agent,那么沒有設(shè)置User Agent的Python程序?qū)o法正常訪問網(wǎng)站莺奸。
4丑孩、常用的瀏覽器請求頭User-Agent
4.1 Windows/Firefox
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
4.2 Windows/IE
Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
4.3 Windows/EDGE
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134
4.4 Windows/Chrome
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
4.5 Linux/Firefox
Mozilla/5.0 (X11; Linux x86_64; rv:63.0) Gecko/20100101 Firefox/63.0
4.6 Android/Firefox
Mozilla/5.0 (Android 9.0; Mobile; rv:63.0) Gecko/63.0 Firefox/63.0
4.7 Android/Chrome
Mozilla/5.0 (Linux; Android 9.0; Z832 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Mobile Safari/537.36
4.8 iPhone/Safari
Mozilla/5.0 (iPhone; CPU OS 10_14 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Mobile/14E304 Safari/605.1.15
4.9 Google/bot
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
4.10 百度蜘蛛移動端
Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
4.11 百度蜘蛛PC端
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
5、selenium設(shè)置chrome請求頭
這里我寫了一個例子灭贷,用來說明如何通過修改User Agent,偽裝成手機來訪問百度移動端的頁面略贮。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""User Agent example."""
from selenium import webdriver
# 進入瀏覽器設(shè)置
options = webdriver.ChromeOptions()
# 設(shè)置中文
options.add_argument('lang=zh_CN.UTF-8')
# 修改User Agent
options.add_argument('user-agent="Mozilla/5.0 (Android 9.0; Mobile; rv:63.0) Gecko/63.0 Firefox/63.0"')
browser = webdriver.Chrome(chrome_options=options)
browser.get("http://www.baidu.com")
browser.maximize_window()
browser.quit()
測試通過甚疟。
6、用第三方庫來設(shè)置User Agent
在Python爬蟲的過程中經(jīng)常要模擬UserAgent, 因此自動生成UserAgent十分有用, fake-useragent庫可以隨機生成各種UserAgent逃延。
# 安裝
pip install fake-useragent
文檔地址: