python2.7 + 谷歌浏览器 实现模拟浏览器爬虫

港控/mmm° 2021-09-22 23:42 550阅读 0赞

一、查看谷歌浏览器基本信息

在谷歌浏览器地址栏输入:chrome://version/

结果示例:

20190409184200358.png

二、下载谷歌浏览器及驱动

驱动官方下载地址(需要挂翻墙代理访问):https://sites.google.com/a/chromium.org/chromedriver/downloads

1、根据“一”中自己浏览器的版本下载对应需要的代理版本:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI3Mzc4NjIx_size_16_color_FFFFFF_t_70

2、将chrome浏览器安装位置及chrome驱动位置添加到计算机环境变量中去。可通过右键单击谷歌浏览器图标,选择“打开文件所在位置”,复制相应的路径即可。此处我将“1”中下载的驱动放入了相同的文件目录下,这样只需添加一次环境变量即可,且方便查找。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI3Mzc4NjIx_size_16_color_FFFFFF_t_70 1

三、程序中Chrome的基本设置

1、简单的启动,无多余配置

  1. class WebAPI(object):
  2. def __init__(self):
  3. """
  4. 模拟浏览器
  5. """
  6. self.chrome_options = webdriver.ChromeOptions()
  7. self.driver = webdriver.Chrome()
  8. def get_baidu(self):
  9. self.driver.get("www.baidu.com")

此方法仅需要创建实例,调用“get_baidu()”函数即可实现基本的模拟浏览器访问百度的功能。

2、一些参数的设置,例如:代理,用户浏览器数据等

  1. class WebAPI(object):
  2. def __init__(self, proxy='kb111.asuscomm.com:8119', profile_dir=r'C:\Users\yy\AppData\Local\Google\Chrome\User Data'):
  3. """
  4. 模拟浏览器
  5. :param proxy: 代理ip
  6. :param profile_dir: 本地浏览器的默认设置文件路径 C:\Users\用户名\AppData\Local\Google\Chrome\User Data
  7. """
  8. self.chrome_options = webdriver.ChromeOptions()
  9. if profile_dir:
  10. self.chrome_options.add_argument('--no-sandbox') # root权限
  11. self.chrome_options.add_argument("user-data-dir="+os.path.abspath(profile_dir))
  12. self.chrome_options.add_argument('disable-infobars') # 去除"你的浏览器正在受自动化软件的控制"的字样
  13. self.chrome_options.add_argument('--proxy-server='+proxy) # 用代理跑driver
  14. self.driver = webdriver.Chrome(chrome_options=self.chrome_options)
  15. def get_baidu(self):
  16. self.driver.get("www.baidu.com")

设置“无头浏览器”,即不显示浏览器界面:

  1. def __init__(self, headless=True):
  2. self.chrome_options = webdriver.ChromeOptions()
  3. if headless: # 不显示浏览器
  4. self.chrome_options.add_argument('--headless')
  5. self.chrome_options.add_argument('--disable-gpu')
  6. self.driver = webdriver.Chrome(chrome_options=self.chrome_options)

(未完成,更新中)

发表评论

表情:
评论列表 (有 0 条评论,550人围观)

还没有评论,来说两句吧...

相关阅读