在爬虫开发过程中,有的时候会遇到一些网站需要进行逆向采集的工作,但是受制于时间和开发难度的综合考虑,我们往往并不会对所有需要逆向采集的网站进行逆向工作,而是通过一些第三方工具操作浏览器的方式进行可视化采集,这里面的佼佼者就要属
selenium了。
selenium的api我们放在后面进行讲解,本章主要介绍一下关于selenium的安装工作。
注: 本章并不会介绍所有浏览器的安装工作,主要介绍的是google的安装工作。
目录
1.1 浏览器版本检查
以本人的谷歌浏览器为例,点击右上角的三条横杠,如图所示:
在下面的选项中点击
设置选项
点击
关于Chrome,就可以看到谷歌浏览器的版本号了。
本人的版本号是
128.0.6613.138(64位),其中128为大版本号,我们在下载WebDriver寻找与大版本号一致的一般都可以成功启动谷歌浏览器。
1.2 下载`WebDriver`
以前常用的网址现在使用发现,只能下载114版本之前的WebDrive了,由于存在较大的版本差异,导致现在在启动selenium时会出现版本不一致的报错。
现在使用的是:
目前这里能够找到谷歌浏览器的最新版的WebDrive。找到对应的版本,下载即可。
1.3 安装selenium
pip install selenium -i pypi.tuna.tsinghua.edu.cn/simple
1.4 默认启动谷歌浏览器测试
很多博客中,一般都是通过这样的方式进行测试的import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
time.sleep(5)
driver.quit()
这样的代码更简洁,当我们没有指定WebDriver路径的时候,selenium模块会自动寻找对应的WebDrive,这样可能会出现以下异常:
- 第一次启动浏览器速度很慢
- 存在多个
WebDriver的时候,可能会查找到错误的WebDrive,导致出现版本不匹配的情况
1.5 设置`WebDiver`路径启动谷歌浏览器
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
def start(path=None):
if path is None:
driver = webdriver.Chrome()
else:
# 我的webdriver放在`C:/Users/12043/Desktop/DragonW/SpiderCase/`目录下
if 'chromedriver.exe' not in path:
service = Service(executable_path=f"{path}/chromedriver.exe")
else:
service = Service(executable_path=path)
driver = webdriver.Chrome(service=service)
return driver
dr = start(path="C:/Users/12043/Desktop/DragonW/SpiderCase/")
dr.get("http://www.baidu.com")
time.sleep(5)
dr.quit()