Scrapy+Selenium爬取动态渲染网站

  • 目录

    • 1.简介
    • 2.安装 Selenium
    • 3.安装驱动

      • 3.1 Chrome
      • 3.2 Firefox
      • 3.3 其它浏览器驱动下载
    • 4.Selenium使用

      • 4.1 Chrome 配置
      • 4.2 Firefox 配置
      • 4.3 不显示打开浏览器的界面
      • 4.4 禁用浏览器弹窗
      • 4.5 driver属性和方法

1.简介

Selenium是一个用于Web应用程序测试的工具。直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等,在爬虫上则是模拟正常用户访问网页并获取数据。

2.安装 Selenium

> pip install selenium

3.安装驱动

模拟真正的用户操作当然需要选择好用来操作的浏览器,根据浏览器来安装相应的驱动调起。

3.1 Chrome

使用selenium驱动chrome浏览器需要下载chromedriver,而且chromedriver版本需要与chrome的版本对应,版本错误的话则会运行报错。

查看chrome的版本,可通过帮助 > 关于Google Chrome(G)

Scrapy+Selenium爬取动态渲染网站

下载chromedriver可以通过淘宝镜像地址:http://npm.taobao.org/mirrors... 。最新的镜像与Chrome同名,尽量选择版本相近的避免兼容问题,镜像下notes.txt可查看当前驱动支持的版本。

Scrapy+Selenium爬取动态渲染网站

选择合适的版本下载,下载完解压将chromedriver.exe放在有设置环境变量的目录下,小编是放在python的安装目录下的,即python.exe所在的目录。

Scrapy+Selenium爬取动态渲染网站

3.2 Firefox

使用selenium驱动Firefox浏览器需要下载geckodriver,查看浏览器版本通过帮助 > 关于 Firefox

Scrapy+Selenium爬取动态渲染网站

下载geckodriver可通过mozilla的仓库地址:https://github.com/mozilla/ge...

选择合适的版本下载,解压后geckodriver.exe同样也是放在python的安装目录下。

Scrapy+Selenium爬取动态渲染网站

3.3 其它浏览器驱动下载

Opera:http://npm.taobao.org/mirrors...

IE:http://selenium-release.stora... (版本号要与selenium的版本一致,查看安装的selenium版本,可通过pip show selenium)如果没有vpn可能会打不开,可点击下载3.14.0版本的。

4.Selenium使用

4.1 Chrome 配置

options = webdriver.ChromeOptions()
## 无界面
# options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=options)
driver.set_window_size(1366, 768)
driver.set_page_load_timeout(self.timeout)

注意Chrome可能需要管理员权限相关配置,小编习惯性用Firefox

相关推荐