爬虫大杀器 | “手把手”教你配置Selenium
本文作者:戴 雯
文字编辑:方 言
技术总编:张馨月
爬虫俱乐部云端课程来袭!
另外,爬虫俱乐部于2020年7月在线上举办的Stata与Python编程技术训练营已圆满结束。应广大学员需求,我们的课程现已在腾讯课堂双双上线,且继续提供答疑服务。现在关注公众号并在朋友圈转发推文《来腾讯课堂学Stata和Python啦!》,即可获得600元课程优惠券,集赞50个再领200元课程优惠劵!(截图发至本公众号后台领取)原价2400元的课程,现在只要1600元!
导读
有着“爬虫大杀器”之称的selenium第三方库是一个自动化测试工具,利用它我们可以对浏览器进行模拟,获取页面的源代码,从而可以处理一些结构复杂、有反爬限制的网页。同时,selenium能够驱动浏览器执行特定的动作,如点击、下拉等操作,实现对网页的自动化模拟。在《Selenium登录豆瓣》
《中国知网爬虫(CNKI) 批量下载PDF格式论文》等推文中,我们都多次使用到这一利器。既然selenium功能如此强大,今天小编就带大家看一看在不同的操作系统下应该如何配置selenium~
本文主要介绍的内容如下:
下载最新版本的谷歌浏览器
Windows系统下的操作
Mac系统下的操作
安装selenium常见报错及解决
1.下载最新版本的谷歌浏览器
Selenium库作为用于Web应用程序测试的工具,需要浏览器配合使用,这里我们推荐下载谷歌浏览器。在谷歌浏览器的官网(https://www.google.cn/intl/zh-CN/chrome/)即可进行下载,在完成安装后,点击设置(S)->关于Chrome
,将Chrome浏览器更新至最新版本。
2.Windows系统下的操作
首先,安装selenium库。打开命令提示符并输入pip install selenium
,按下回车键后如果出现successfully installed的页面提示,说明安装成功。
其次是下载Chromedriver。根据浏览器的版本,下载相应版本的Chromedriver。由于国内无法直接访问谷歌官网,我们可以在Chromedriver仓库中进行下载(http://chromedriver.storage.googleapis.com/index.html),也可以通过在 公众号后台回复“Chromedriver” 来获取目前最新版本的驱动文件。
接下来,安装Chromedriver。下载完成后,我们需要将驱动文件Chromedriver.exe放入电脑的特定路径中,并复制该路径。
最后,测试配置。将下面这段代码中driverpath的路径修改为刚才复制的内容,并通过执行整段代码来测试Chromedriver驱动:
from selenium import webdriver
import traceback
import time
driverpath = r"D:\work\xpath与selenium\Driver"
CHROME_DRIVER = '%s/chromedriver.exe' % driverpath
driver = webdriver.Chrome(executable_path=CHROME_DRIVER)
try:
driver = webdriver.Chrome(executable_path=CHROME_DRIVER)
driver.set_window_position(0, 0)
driver.maximize_window()
driver.get('https://www.baidu.com/') #打开百度浏览器
time.sleep(10) #等待10秒
driver.quit() #关闭浏览器
print('配置完毕,访问百度主页10秒后关闭浏览器')
except Exception as e:
print('配置错误')
traceback.print_exc()
如果页面自动弹出谷歌浏览器的界面,并在访问百度主页10秒后自动关闭,就说明selenium配置完成啦~
3.Mac系统下的操作
首先,安装selenium库。在终端输入pip install selenium
即可安装。
其次,下载Chromedriver。同Windows系统的操作一样,我们需要根据浏览器版本,下载相应版本的Chromedriver。驱动文件可以在网上下载或通过公众号后台回复“Chromedriver” 获取。
接下来,安装Chromedriver。将驱动文件Chromedriver添加到电脑中并记住存放路径。与Windows操作不同的是,在安装之前,我们需要将驱动文件进行提权,方法是在终端输入chmod 777+chromedriver文件的路径
,如:chmod 777 "/Users/xxxxx/Driver/chromedriver",引号里为电脑中存放Chromedriver的路径。
最后,测试配置。修改下面代码中driverpath的路径名称并执行,如果成功访问百度并自动关闭,说明配置成功。
from selenium import webdriver
import traceback
import time
driverpath = r"路径名称"
CHROME_DRIVER = '%s/chromedriver' % driverpath
driver = webdriver.Chrome(executable_path=CHROME_DRIVER)
try:
driver = webdriver.Chrome(executable_path=CHROME_DRIVER)
driver.set_window_position(0, 0)
driver.maximize_window()
driver.get('https://www.baidu.com/') #打开百度浏览器
time.sleep(10) #等待10秒
driver.quit() #关闭浏览器
print('配置完毕,访问百度主页10秒后关闭浏览器')
except Exception as e:
print('配置错误')
traceback.print_exc()
4.常见报错及解决
(1)安装selenium报错
一些小伙伴在安装selenium的过程中会出现报错,如果页面中出现大片红色,大多情况下是由于下载超时:
这是因为pypi的地址在国外,所以有时会遇到下载过慢的问题,我们可以使用国内的镜像源来加速,如使用清华大学下载源或阿里云下载源,具体如下:
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install selenium -i https://mirrors.aliyun.com/pypi/simple/
此外,我们也可以直接在pypi的官网(https://pypi.org/project/pyecharts/0.1.9.4/)搜索想要安装的库进行下载,将路径切换至存放该文件的位置,输入pip install+文件名
即可,如下图所示:
(2)配置过程出错
在运行代码的测试过程中,大家也可能遇到下面这样的报错:
在这种情况下,需要首先确认Chromedriver的路径是否正确,另外要注意Mac系统下要配置的为Chromedriver文件
,而Windows系统要配置的是Chromedrive.exe
。
如果仍然报错,在Mac中,可以尝试在终端中输入命令 sudo mv chromedriver 要移动至的目录
;在Windows系统中,则需要添加环境变量,方法是将chromedriver.exe放在谷歌浏览器的安装目录下,再将该路径添加至环境变量,如下:
以上就是关于selenium配置的全部内容啦,感兴趣的小伙伴快动手试试吧~
优雅的map()
用WordStat看中国日报新闻(二)
一招轻松合并文件——openall命令介绍
高校经管类核心期刊发文排行榜|2010-2019
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。