centos7中配置python爬⾍selenium+chromium+chromedri。。
。
今天为了爬取某异步加载⽹站的数据,开始⾃学了selenium,不得不说selenium还是很⽅便的⼯具,适合⽆脑爬取异步加载的⽹站。⾸先我在⾃⼰的windows电脑下配置了selenium和chromedriver的chrome浏览器内核,正常调试好程序后准备部署到centos7服务器上,但是遇到了很多问题,不停报错,在踩了很多雷以后终于可以完美部署selenium+chromium+chromedriver环境顺利爬⾍了!
接下来我就详细介绍下正确的配置⽅式
1. 安装selenium:这⼀步⽐较简单,直接pip安装就⾏:
pip install selenium
2. 安装chromium:由于⾕歌chrome并不⽀持linux,也就更不⽀持centos了,所以需要安装chromium,不过不⽤担⼼,chromium也是⾕
歌的开源项⽬,与chrome并没有太⼤的区别
yum install chromium
这⼀步也没什么问题,需要注意⼀下chromium安装的版本,因为要与下⼀步需要安装的chromedriver版本相适配,⼆者版本不同都会报错,这⾥我也是踩雷了,chromium默认安装的最新版为“79.0.3945.130-1.el7”,但是chromedriver已经更新到了81.0,第⼀次安装的时候我选择了最⾼版本的chromedriver,但是chromium还是79.0版本,执⾏python脚本的时候就报错版本不适配,所以我重新安装了对应版本的chromedriver。
如何查看安装的chromium版本?yum就可以看到
yum list installed
3. 安装chromedriver:这⾥我们从taobao镜像站点安装:
# 下载对应版本的chromedriver
wget /mirrors/chromedriver/79.0.3945.16/chromedriver_linux64.zip
# 解压
unzip chromedriver_linux64.zip
# 把chromedriver移动到系统⽬录
mv chromedriver /usr/bin
⽅法2:直接yum安装,这样其实更省事⼉⼀点
yum chromedriver
安装完成后确认⼀下版本与chromium保持⼀致:
到这⼀步已经配置好selenium+chromium+chromedriver的环境了,接下来我们写⼀个最简单的python脚本试⼀下!
from selenium import webdriver
from selenium.webdriver.chrome.options import Options # 导⼊浏览器内核设置,主要是为了设置⽆头(headless)模式
url = 'www.baidu'
chrome_options = Options()
chrome_options.add_argument('--headless') # 设置Chrome为⽆头模式
chrome直接下载driver = webdriver.Chrome(options=chrome_options)
<(url)
driver.close()
诶,报错了:The process started from chrome location /usr/lib64/chromium-browser/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed
在脚本上加上两句话:
option.add_argument('no-sandbox')
option.add_argument('disable-dev-shm-usage')
完美解决了!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论