运行微博爬虫始终提示
'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/ch
试图通过yum –y install chromedriver阿里云匹配的chromedriver的版本低于chrome,需要更新。然后发现不管是更新chrome还是chromium,始终都存在着版本不对。直到找到了这个:
https://blog.csdn.net/herobacking/article/details/80276060
安装 chrome
使用下面的命令,在root用户下就可以安装最新的 Google Chrome:
yum –y install google-chrome-stable
在 seleniump官网 找到最新的版本,下载selenium-server-standalone-X.XX.X.jar文件
selenium-server-standalone-3.13.0.jar
将上述selenium放入一个文件夹中,输入如下命令初始化
java -jar selenium-server-standalone-3.13.0.jar
注意,需要 java8 环境,可以参考 CentOS7安装java运行环境jdk
在 chromerriver官网下载最新的ChromeDriver压缩包,解压得到chromedriver.exe文件
chromedriver_linux64.zip
将下载的文件解压,放在如下位置
/usr/bin/chromedriver
给予执行权限
chmod +x /usr/bin/chromedriver
输入如下命令
yum install Xvfb -y yum install xorg-x11-fonts* -y |
新建在/usr/bin/ 一个名叫 xvfb-chrom 的文件写入以下内容:
vi /usr/bin/xvfb-chrome
#!/bin/bash
_kill_procs() { kill -TERM $chrome wait $chrome kill -TERM $xvfb }
# Setup a trap to catch SIGTERM and relay it to child processes trap _kill_procs SIGTERM
XVFB_WHD=${XVFB_WHD:-1280x720x16}
# Start Xvfb Xvfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp & xvfb=$!
export DISPLAY=:99
chrome --no-sandbox --disable-gpu$@ & chrome=$!
wait $chrome wait $xvfb |
添加执行权限
chmod +x /usr/bin/xvfb-chrome
查看当前映射关系
ll /usr/bin/ | grep chrom
-rwxr-xr-x 1 root root 7874704 Mar 20 14:55 chromedriver lrwxrwxrwx 1 root root 31 Mar 20 00:24 google-chrome -> /etc/alternatives/google-chrome lrwxrwxrwx 1 root root 32 Mar 20 14:30 google-chrome-stable -> /opt/google/chrome/google-chrome |
更改Chrome启动的软连接
ln -s /etc/alternatives/google-chrome /usr/bin/chrome rm -rf /usr/bin/google-chrome ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome |
查看修改后的映射关系
ll /usr/bin/ | grep chrom
-rwxr-xr-x 1 root root chromedriver lrwxrwxrwx 1 root root chrome -> /etc/alternatives/google-chrome lrwxrwxrwx 1 root root google-chrome -> /usr/bin/xvfb-chromium lrwxrwxrwx 1 root root google-chrome-stable -> /opt/google/chrome/google-chrome -rwxr-xr-x 1 root root xvfb-chrome |