硒+ python如何配置chrome浏览器

  介绍

这篇文章主要介绍硒+ python如何配置chrome浏览器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

<强> 1。背景

在使用硒浏览器渲染技术,爬取网站信息时,默认情况下就是一个普通的纯净的chrome浏览器,而我们平时在使用浏览器时,经常就添加一些插件,扩展,代理之类的应用。相对应的,当我们用chrome浏览器爬取网站时,可能需要对这个chrome做一些特殊的配置,以满足爬虫的行为。

常用的行为有:

<李>

禁止图片和视频的加载:提升网页加载速度。

<李>

添加代理:用于翻墙访问某些页面,或者应对IP访问频率限制的反爬技术。

<李>

使用移动头:访问移动端的站点,一般这种站点的反爬技术比较薄弱。

<李>

添加扩展:像正常使用浏览器一样的功能。

<李>

设置编码:应对中文站,防止乱码。

<李>

阻止JavaScript执行。

<李>

………

<强> 2。环境

<李> python 3.6.1

<李>

系统:这个

<李>

IDE: pycharm

<李>

安装过chrome浏览器

<李>

配置好chromedriver

<李>

硒3.7.0

<强> 3。chromeOptions

chromeOptions是一个配置chrome启动是属性的类。通过这个类,我们可以为铬配置如下参数(这个部分可以通过硒源码看到):

<李>

设置铬二进制文件位置(binary_location)

<李>

添加启动参数(add_argument)

<李>

添加扩展应用(add_extension add_encoded_extension)

<李>

添加实验性质的设置参数(add_experimental_option)

<李>

设置调试器地址(debugger_address)

源代码:

#,。\ Lib \网站\硒\ webdriver \ \ options.py铬   class 选项(对象):      def 才能__init__(自我):   ,,,#,设置,chrome 二进制文件位置   ,,,self._binary_location =, & # 39; & # 39;   ,,,#,添加启动参数   ,,,self._arguments =, []   ,,,#,添加扩展应用   ,,,self._extension_files =, []   ,,,self._extensions =, []   ,,,#,添加实验性质的设置参数   ,,,self._experimental_options =, {}   ,,,#,设置调试器地址   ,,,self._debugger_address =,

没有使用案例:

#,设置默认编码为,utf - 8,也就是中文      得到selenium  import  webdriver   时间=options  webdriver.ChromeOptions ()   options.add_argument (& # 39; lang=zh_CN.UTF-8& # 39;)   时间=driver  webdriver.Chrome (=chrome_options 选项)

4。常用配置官方网站参考:https://sites.google.com/a/chromium.org/chromedriver/capabilities

4.1。设置编码格式

#,设置默认编码为,utf - 8,也就是中文      得到selenium  import  webdriver   时间=options  webdriver.ChromeOptions ()   options.add_argument (& # 39; lang=zh_CN.UTF-8& # 39;)   时间=driver  webdriver.Chrome (=chrome_options 选项)

4.2。模拟移动设备

移动设备用户代理表格:http://www.fynas.com/ua

因为移动版网站的反爬虫的能力比较弱

#,通过设置用户代理,用来模拟移动设备   #,比如模拟,android  QQ浏览器   options.add_argument(& # 39;用户代理=癕QQBrowser/26, Mozilla/5.0, (Linux;,你,,Android  2.3.7;,应用;,MB200 构建/GRJ22;, CyanogenMod-7), AppleWebKit/533.1, (KHTML, like 壁虎),版本/4.0,Mobile  Safari/533.1“& # 39;)      #,模拟iPhone  6   options.add_argument(& # 39;用户代理=癕ozilla/5.0, (iPhone;, CPU  iPhone  OS  9 _1  like  Mac  OS  X), AppleWebKit/601.1.46  (KHTML, like 壁虎),版本/9.0,移动/13 b143  Safari/601.1“& # 39;)

4.3。禁止图片加载

不加载图片的情况下,可以提升爬取速度。

#,禁止图片的加载   得到selenium  import  webdriver      时间=chrome_options  webdriver.ChromeOptions ()   prefs =, {“profile.managed_default_content_settings.images":, 2}   chrome_options.add_experimental_option (“prefs",首选项)      #,启动浏览器,并设置好等   时间=browser  webdriver.Chrome (chrome_options=chrome_options)   browser.set_window_size (configure.windowHeight, configure.windowWidth),, #,根据桌面分辨率来定,主要是为了抓到验证码的截屏   wait =, WebDriverWait(浏览器,timeout =, configure.timeoutMain)

硒+ python如何配置chrome浏览器