当前位置: 首页 > news >正文

[网络爬虫] 动态网页抓取 — Selenium 介绍 环境配置

🌟想系统化学习爬虫技术?看看这个:[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客

0x01:Selenium 工具介绍

Selenium 是一个开源的便携式自动化测试工具。它最初是为网站自动化测试而开发的,类似于我们玩游戏用的按键精灵,可按照预先设定的指令进行自动化操作。但不同的是,Selenium 支持与所有主流的浏览器(如 Chrome、Firefox、Edge、IE 等)配合使用,当然,也包括如 PhantomJS、Headless Chrome 等一些无界面的浏览器。

Selenium 可以直接运行在浏览器中,模拟用户使用浏览器完成一些动作,包括自动加载页面、输入文本、选择下拉列表框中的选项、单机按钮、单机超链接等。

0x02:Selenium & WebDriver 环境配置

在使用 Selenium 抓取动态网页之前,我们需要在计算机上安装 Selenium 和配合它使用的浏览器驱动 WebDriver。为了避免在后续的网络爬虫程序中重复指定 WebDriver 的执行路径,我们还需要为 WebDriver 配置环境变量。

0x0201:环境配置 — Selenium

Selenium 的安装十分简单,直接使用 pip 命令即可,具体的安装命令如下:

pip install selenium==3.141.0

因为笔者的机器中是安装过了的,所以会出现 “Requirement already satisfied” 的字段,读者运行上述命令后应该会出现 “Successfully Installed Selenium” 字段。如果读者安装过慢,可能是 Python 镜像仓库的源没有换导致的,建议手动搜索 “Python 换源”,将仓库源换为国内的。

另外,目前最新的 Selenum 应该已经到 4 版本了,但是 4 版本的 Selenium 语法相较于 3 有很大的改变,笔者后续的笔记是基于 3 版本的(够用了)。所以,如果后续你运行笔者的程序出错了,建议先排查一下自己安装的 Selenium 的版本信息。

0x0202:环境配置 — WebDriver

WebDriver 即浏览器驱动程序,用于实现 Selenium 与浏览器之间的交互。不同的浏览器使用的驱动程序不同,常见的浏览器机器对应的驱动程序如下表所示:

浏览器驱动程序下载路径
Chromium/ChromeChromeDriverGoogelChromeDriver 下载(需要魔法)
FireFoxGeckoDriverGeckoDriver 下载
EdgeMicrosoftWebDriverMicrosoft Edge 下载
IEIEDriverServerIEDriverServer 下载
OperaOperaChromiumDriver
SafariSafariDriver
Selenium+WebDriver 各浏览器驱动下载与使用 - 苏念雨 - 博客园Selenium + Python 之 WebDriver 驱动下载与使用 一、Firefox(火狐)浏览器驱动 下载地址:https://github.com/mozilla/geckodriver/releases/ 下载对应驱动:根据自己的操作系统下载相对应的驱动。 使用方法:把文件存放在 phttps://www.cnblogs.com/sunisnyu/p/18442541

需要注意的是,不同版本的浏览器驱动程序支持的浏览器版本也不同。我们在下载浏览器驱动程序之前,需要先查看当前浏览器的版本号(这也是为啥,明明程序没问题,但是死活无法打开浏览器的情况)。

接下来,笔者以 Chrome 浏览器为例,为大家演示如何安装 Chrome 浏览器的驱动程序。

1. 查看 Chrome 浏览器版本

打开 Chrome 浏览器,然后访问下面的页面,即可看到当前 Chrome 浏览器的内核版本:

chrome://settings/help

2. 选择对应版本的 WebDriver

看到我们当前的浏览器版本 134.0 后,我们来到 Google Chrome 官方页面,查找对应的 Chrome:

https://developer.chrome.google.cn/docs/chromedriver/downloads?hl=zh-cn

点击页面上的 “Chrome 115 及更高版本” 后它会跳转到如下界面,我们选择对应的版本 “134”:

https://googlechromelabs.github.io/chrome-for-testing/

如下,我们选择适合自己平台的对应版本的 Chrome Driver 即可,将链接复制下来直接访问,就可以下载了:

将下载下来的 ChromDriver 解压,可以看到里面包含一个 chromedriver.exe 程序,这个程序就是我们需要的 WebDriver 了,该 WebDriver 专门用于驱动 Chrome 浏览器:

3. 将 WebDriver 添加到环境变量中(可选)

在程序中使用 WebDriver 时,既可以显式地指定 WebDriver 所在的执行目录,也可以将 WebDriver 配置到系统环境变量中。将 WebDriver 配置到系统环境变量中以后,在程序中再次使用 WebDriver 时,就不需要重复指定 WebDriver 的执行路径了。下面笔者以 ChromeDriver 为例,为大家演示如何将 ChromeDriver 配置到环境变量中。

在系统中直接搜索 “环境变量”,点击下面框出来的内容:

然后单机 “环境变量”,在 “系统变量” 中找到 “Path” 变量,将我们解压的 ChromeDriver 的路径黏贴进去:

然后一路点击 “确定” 退出。最后,按下 Win + R 输入 CMD,打开命令行窗口,输入下面的内容,若命令后出现 ChromeDriver 当前的版本,则说明环境配置成功:

chromedriver -version

0x03:Selenium & WebDriver 环境检测

当你按照上述流程配置完 Selenium & WebDriver 环境后,可以新建一个 .py 文件,并输入下面的代码尝试运行一下,如果能运行成功,那么恭喜你,可以开启 Selenium 自动化之旅了:

from selenium import webdriver # 导入 selenium 库
​
# 实例化一个浏览器对象
driver = webdriver.Chrome()
​
# 尝试访问 baidu.com
driver.get('https://www.baidu.com/')
# 让浏览器全屏
driver.maximize_window()
​
### 下面两个是用来关闭浏览器的,你可以依次取消注释然后运行看看
# driver.close()  # 关闭当前页面
# driver.quit()   # 退出浏览器

相关文章:

  • 速卖通商品详情API接口全解析
  • Vue3中动态Ref的魔法:绑定与妙用
  • 【已解决】error setting certificate verify locations
  • c++: 容器vector
  • 【SpringBoot3】使用Easy-Trans做字典翻译
  • DeepSeek专题:DeepSeek-V2核心知识点速览
  • CentOS 9 系统安装 Docker
  • 【无标题】认知边界即财富边界
  • C++稀疏表(Sparse Table,ST表)区间最小值/最大值查询 模板
  • 【Linux系统】进程的影分身之术:fork系统调用与getpid的探秘
  • LeetCode697
  • 用AI学编程3——Java学习1
  • 树莓派5首次开机保姆级教程(无显示器通过VNC连接树莓派桌面)
  • 大语言模型进化论:从达尔文到AI的启示与展望
  • Spark数据倾斜深度解析与实战解决方案
  • 蓝桥杯备考:进制转换问题
  • Unity UGUI下优化需要射线检测类的UI元素的一种方式
  • Ubuntu 下 nginx-1.24.0 源码分析 (1)
  • 高组装导轨与普通导轨有什么区别?
  • 【从零开始学习计算机科学】HLS算子调度
  • 做淘宝客网站需要多大空间/网站打开速度优化
  • 佛山手机建网站/西安seo管理
  • 廊坊哪里有做网站建设的/阿里指数官方网站
  • 越南的网站建设/短视频入口seo
  • 商务网站建设试题/网络营销的常用工具
  • 银川做网站的 公司有哪些/seo快速上排名