Python+selenium设置随机IP代理、UserAgent
1 引入第三方库与框架
import random #随机
from selenium import webdriver #selenium控制浏览器
from selenium.webdriver.chrome.options import Options #设置浏览器参数
from fake_useragent import UserAgent #随机代理UserAgent
2 代理IP池
proxy_arr = [
'--proxy-server=http://111.3.118.247:30001',
'--proxy-server=http://183.247.211.50:30001',
'--proxy-server=http://122.9.101.6:8888',
]
3 设置浏览器参数
chrome_options = Options()
proxy = random.choice(proxy_arr) # 随机选择一个代理
print(proxy) #如果某个代理访问失败,可从proxy_arr中去除
chrome_options.add_argument(proxy) # 添加代理
4 随机User-Agent
ua=UserAgent()
a = ua.random
user_agent = ua.random
print(user_agent)
chrome_options.add_argument(f'user-agent={user_agent}') # 替换User-Agent
5 固定User-Agent
# UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
# chrome_options.add_argument('User-Agent=' + UserAgent)
6 封装并尝试访问网址
browser = webdriver.Chrome(options=chrome_options)
browser.get("http://httpbin.org/get") #访问httpbin.org/get查看IP、User-Agent是否更改成功
7 完整代码及注释
import random #随机
from selenium import webdriver #selenium控制浏览器
from selenium.webdriver.chrome.options import Options #设置浏览器参数
from fake_useragent import UserAgent #随机代理UserAgent
#代理IP池
proxy_arr = [
'--proxy-server=http://111.3.118.247:30001',
'--proxy-server=http://183.247.211.50:30001',
'--proxy-server=http://122.9.101.6:8888',
#设置浏览器参数
chrome_options = Options()
proxy = random.choice(proxy_arr) # 随机选择一个代理
print(proxy) #如果某个代理访问失败,可从proxy_arr中去除
chrome_options.add_argument(proxy) # 添加代理
#随机User-Agent
ua=UserAgent()
a = ua.random
user_agent = ua.random
print(user_agent)
chrome_options.add_argument(f'user-agent={user_agent}') # 替换User-Agent
#固定User-Agent
# UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36'
# chrome_options.add_argument('User-Agent=' + UserAgent)