簡介:web
這個就比較好玩了,你們還記得之前的QQ小尾巴麼?還有百度貼吧的小尾巴,就是那個來自***的iphone7,這個功能。chrome
這個功能是基於瀏覽器的user-agent功能實現的。瀏覽器
仍是httpbin.org服務器
http://httpbin.org/user-agent微信
User Agent中文名爲用戶代理,簡稱 UA,它是一個特殊字符串頭,使得服務器可以識別客戶使用的操做系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。iphone
服務器可以識別你的操做系統,瀏覽器,就能夠針對性的給你返回適合你的設備。通俗講,就是手機能夠瀏覽手機版的頁面,電腦能夠瀏覽電腦版的頁面。之前還有什麼手機版,觸屏版……ide
瀏覽器如今都有插件來實現更換UA了。selenium,咱們也要更換啊。尤爲是那個請在微信中打開……,那是在微信中內置了一個瀏覽器,有它本身的UA,服務器知道你用的是微信內置瀏覽器,就給你訪問,若是不是,就提示你請在微信中打開。測試
我去找一個微信UAspa
Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A403 MicroMessenger/6.3.27 NetType/WIFI Language/zh_CN
聽說這樣的UA,就能夠打開了,你能夠用瀏覽器插件更換後試一試。我就不給你看個人UA了。有人說只要UA中包含(MicroMessenger)就能夠。我也不測試了。操作系統
目標:使用selenium,來替換UA。
一:selenium 查看如今的UA。
from time import sleep from selenium import webdriver driver=webdriver.Firefox() driver.get('http://httpbin.org/user-agent')
二:firefox替換UA
from selenium import webdriver ua='Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) \ AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A403 \ MicroMessenger/6.3.27 NetType/WIFI Language/zh_CN' profiel = webdriver.FirefoxProfile() profiel.set_preference('general.useragent.override',ua) driver=webdriver.Firefox(firefox_profile=profiel) driver.get('http://httpbin.org/user-agent')
好了,這就替換了
三:chrome替換UA
from selenium import webdriver ua='Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) \ AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A403 \ MicroMessenger/6.3.27 NetType/WIFI Language/zh_CN' options=webdriver.ChromeOptions() options.add_argument('user-agent=' + ua) driver=webdriver.Chrome(options=options) driver.get('http://httpbin.org/user-agent')
好了,這就替換了
四:深刻思考
firefox能夠經過webdriver -> FirefoxProfile -> set_preference (名稱 ,值) 來替換設置瀏覽器的參數
chrome 能夠經過 webdriver -> ChromeOptions -> add_argument (名稱=值)來替換設置瀏覽器的參數
那麼都有哪些參數能夠設置呢?
firefox下:能夠打開 about:config 來查看能夠設置的選項
Chrome :能夠設置的啓動參數列表 https://peter.sh/experiments/chromium-command-line-switches/
我如今就用這麼多,更多的配置參數,本身查吧。