使用 selenium 浏览器配置选项分享
浏览器配置选项
配置 chrome 浏览器的选项
在使用 selenium 浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的
chrome 浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应
用。相对应的,当我们用 chrome 浏览器爬取网站时,可能需要对这个 chrome 做一些特
殊的配置,以满足爬虫的行为。
常用的行为有:
- 禁止图片和视频的加载:提升网页加载速度。
- 添加代理:用于翻墙访问某些页面,戒者应对 IP 访问频率限制的反爬技术。
- 使用移动头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。
- 添加扩展:像正常使用浏览器一样的功能。
- 设置编码:应对中文站,防止乱码。
- 阻止 JavaScript 执行。
## chromeOptions 对象创建
chromeOptions 是一个配置 chrome 启动时属性的类。
options = webdriver.ChromeOptions()
禁止图片加载
prefs = {“profile.managed_default_content_settings.images”: 2}
options.add_experimental_option(“prefs”, prefs)
无界面浏览器
不提供可视化页面.
options.add_argument(’–headless’)
或者
opt.set_headless() # 把 chrome 设置成无头模式,不论 windows 还是 linux 都可以,自动适
配对应参数
添加代理 ip
chromeOptions.add_argument(“–proxy-server=http://202.20.16.82:10152”)
添加 UA
options.add_argument(‘user-agent=“MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn;
MB200 Build/GRJ22; CyanogenMod-7)AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0
Mobile Safari/533.1”’)
创建定制选项的浏览器对象
driver = webdriver.Chrome(chrome_options= options)
范例
无界面浏览器
opt = webdriver.ChromeOptions() # 创建 chrome 参数对象
opt.set_headless() # 把 chrome 设置成无头模式,不论 windows 还是 linux 都可以,自动适配对
应参数
driver = webdriver.Chrome(options=opt) # 不制定 options 选项则是普通有头浏览器
代理 ip 的使用
ip = '123.157.67.30:34942'
chome_options = webdriver.ChromeOptions()
chome_options.add_argument(('--proxy-server=http://' + ip))
url = 'http://www.gsxt.gov.cn/index.html'
driver = webdriver.Chrome(chrome_options=chome_options)
driver.get(url)
time.sleep(2)
print(driver.page_source)
driver.close()
回帖内容已被屏蔽。