我正在构建一个搜索机器人,并且希望将其从桌面设备更改为移动设备
我尝试使用profile.set_preferences,但是由于某种原因,它不会更改。它不会产生编译时错误,但不会更改用户代理。我也尝试过设置所需的功能,但这也不起作用。
if count == 0:
browser = webdriver.Firefox(executable_path="geckodriver.exe")
else:
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", "Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0")
browser = webdriver.Firefox(profile)
我希望它作为常规浏览器搜索一次,然后作为移动设备进行搜索,但是它只是作为常规浏览器两次搜索,因此我确信我会增加计数。
答案 0 :(得分:1)
伪造 User Agent 的一种简单方法是使用FirefoxProfile()
,如下所示:
from selenium import webdriver
from fake_useragent import UserAgent
useragent = UserAgent()
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", useragent.random)
driver = webdriver.Firefox(firefox_profile=profile, executable_path="C:\\Utility\\BrowserDrivers\\geckodriver.exe")
driver.get("http://www.whatsmyua.info/")
连续执行3次的结果如下:
首次执行:
Mozilla/5.0 (Windows NT 4.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36
第二次执行:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.517 Safari/537.36
第三次执行:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17