什么是selenium?
edge浏览器驱动和selenium安装
安装edge浏览器驱动
安装浏览器驱动时注意版本保持一致。
可以看到,我的edge浏览器的版本是129.0.2792.52,所以我就要根据这个版本下载对应的驱动:Microsoft Edge WebDriver |Microsoft Edge 开发人员
将压缩包解压到一个指定路径下。比如D:\software\edge_driver路径。访问百度,看看能否正常打开。记住你指定的路径,之后会用。接下来安装selenium
安装selenium
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
selenium的基本使用
这里访问百度首页。
from selenium import webdriver
from selenium.webdriver.edge.service import Service
# 指定 msedgedriver.exe 的路径
path = 'D:\\software\\edge_driver\\msedgedriver.exe'
# 创建一个 Service 对象
service = Service(executable_path=path)
# 初始化浏览器对象
browser = webdriver.Edge(service=service)
# 打开网址
url = 'https://www.baidu.com'
browser.get(url)
# 获取网页源码
content = browser.page_source
print(content)
# 等待用户输入,防止浏览器自动关闭
input("按回车键以关闭浏览器...")
browser.quit()
!!!注意:路径改成自己刚刚指定的路径
使用Selenium的好处
在爬虫中使用 Selenium 有以下几个关键好处,尤其是与传统的爬虫工具相比(如
requests
、
BeautifulSoup
):
1. 处理动态内容
Selenium 的最大优势是能够处理动态网页。许多现代网站使用 JavaScript 动态生成内容,而传统的静态爬虫工具无法直接抓取这些内容。Selenium 模拟真实用户在浏览器中的行为,能够让 JavaScript 执行并加载页面的完整内容,包括:
- 使用 AJAX 动态加载的内容
- 滚动加载的无限列表(如社交媒体页面)
- 交互式页面(例如点击、输入后加载的内容)
传统的爬虫工具只能抓取静态 HTML,因此在遇到动态网页时,无法获取完整的内容,而 Selenium 可以模拟浏览器执行 JavaScript 并提取加载后的数据。
2. 模拟用户行为
Selenium 可以模拟真实用户的操作流程,如:
- 点击按钮、链接
- 填写表单并提交
- 选择下拉菜单中的选项
- 滚动页面、放大缩小等
这种功能在需要爬取复杂网页时非常有用。例如,当需要登录才能访问某些数据时,Selenium 可以模拟用户输入用户名和密码、点击登录按钮等操作,爬取成功后再提取数据。
3. 应对反爬虫机制
许多网站有反爬虫机制,检测到频繁的自动化请求(例如通过
requests
发送的大量请求)会拒绝访问。而 Selenium 模拟的是真实浏览器行为,用户代理、Cookie 和浏览器特性与普通用户几乎没有区别,因此较难被检测到是爬虫工具。这使得它在一些有反爬虫机制的网站上更容易绕过限制。
另外,Selenium 能够自动处理页面加载、重定向和 JavaScript 触发的事件,减少反爬虫机制带来的障碍。
4. 与浏览器一致的渲染
使用 Selenium 抓取数据时,由于其直接运行在浏览器中,因此获得的页面内容与用户在浏览器中看到的完全一致。这包括:
- 复杂的 CSS 样式
- 动态生成的 DOM 元素
- 图像、SVG 或其他动态内容
相比之下,使用
requests
抓取的内容有时会缺少页面的动态部分或与实际页面不符。
版权归原作者 Gratitute_林腾 所有, 如有侵权,请联系我们删除。