博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小白学爬虫-在无GUI的CentOS上使用Selenium+Chrome
阅读量:7054 次
发布时间:2019-06-28

本文共 2945 字,大约阅读时间需要 9 分钟。

hot3.png

爬虫代理IP由芝麻HTTP服务供应商提供

各位小伙伴儿的采集日常是不是被JavaScript的各种点击事件折腾的欲仙欲死啊?好不容易找到个Selenium+Chrome可以解决问题!

但是另一个▄█▀█●的事实摆在面前,服务器都特么没有GUI啊··

好吧!咱们要知难而上!决不能被这个点小困难打倒·······

然而摆在面前的事实是····  他丫的各种装不上啊!坑爹啊!

那么我来拯救你们于水火之间了!

服务器如下:

[root@spider01 ~]# hostnamectl    Static hostname: spider01         Icon name: computer-vm           Chassis: vm        Machine ID: 1c4029c4e7fd42498e25bb75101f85b6           Boot ID: f5a67454b94b454fae3d75ef1ccab69f    Virtualization: kvm  Operating System: CentOS Linux 7 (Core)       CPE OS Name: cpe:/o:centos:centos:7            Kernel: Linux 3.10.0-514.6.2.el7.x86_64      Architecture: x86-64

安装Chromeium:

## 安装yum源[root@spider01 ~]# sudo yum install -y epel-release## 安装Chrome[root@spider01 ~]# yum install -y chromium

去这个地方:https://sites.google.com/a/chromium.org/chromedriver/downloads 下载ChromeDriver驱动放在/usr/bin/目录下:

完成结果如下:

[root@spider01 ~]# ll /usr/bin/ | grep chrom-rwxrwxrwx. 1 root root   7500280 11月 29 17:32 chromedriverlrwxrwxrwx. 1 root root        47 11月 30 09:35 chromium-browser -> /usr/lib64/chromium-browser/chromium-browser.sh

安装XVFB:

[root@spider01 ~]# yum install Xvfb -y[root@spider01 ~]# yum install xorg-x11-fonts* -y

新建在/usr/bin/ 一个名叫 xvfb-chromium 的文件写入以下内容:

[root@spider01 ~]# cat /usr/bin/xvfb-chromium #!/bin/bash_kill_procs() {  kill -TERM $chromium  wait $chromium  kill -TERM $xvfb}# Setup a trap to catch SIGTERM and relay it to child processestrap _kill_procs SIGTERMXVFB_WHD=${XVFB_WHD:-1280x720x16}# Start XvfbXvfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp &xvfb=$!export DISPLAY=:99chromium --no-sandbox --disable-gpu$@ &chromium=$!wait $chromiumwait $xvfb

更改软连接:

## 更改Chrome启动的软连接[root@spider01 ~]# ln -s /usr/lib64/chromium-browser/chromium-browser.sh /usr/bin/chromium[root@spider01 ~]# rm -rf /usr/bin/chromium-browser[root@spider01 ~]# ln -s /usr/bin/xvfb-chromium /usr/bin/chromium-browser[root@spider01 ~]# ln -s /usr/bin/xvfb-chromium /usr/bin/google-chrome[root@spider01 ~]# ll /usr/bin/ | grep chrom*-rwxrwxrwx. 1 root root   7500280 11月 29 17:32 chromedriverlrwxrwxrwx. 1 root root        47 11月 30 09:47 chromium -> /usr/lib64/chromium-browser/chromium-browser.shlrwxrwxrwx. 1 root root        22 11月 30 09:48 chromium-browser -> /usr/bin/xvfb-chromium-rwxr-xr-x. 1 root root     73848 12月  7 2016 chronyclrwxrwxrwx. 1 root root        22 11月 30 09:48 google-chrome -> /usr/bin/xvfb-chromium-rwxrwxrwx. 1 root root       387 11月 29 18:16 xvfb-chromium

来瞅瞅能不能用哦:

>>> from selenium import webdriver>>> driver = webdriver.Chrome()>>> driver.get("http://www.baidu.com")>>> driver.find_element_by_xpath("./*//input[@id='kw']").send_keys("哎哟卧槽")>>> driver.find_element_by_xpath("./*//input[@id='su']").click()>>> driver.page_source

No problem!!!!

好了部署完了!当然Docker这么火贼适合懒人了!来来 看这儿 Docker版的 妥妥滴!

docker pull thsheep/chromium-xvfb-py3:master

做好了Python3.6.3和Chrome集成

需要自己使用Dockerfile来重新打包安装你需要的Python包。

顺便一提!!!!这个玩意儿从事Web测试工作的小伙伴可以用!!!!!!!!

转载于:https://my.oschina.net/u/3720876/blog/1589185

你可能感兴趣的文章
桌面支持--不能显示中文字体,系统已调成中文 而且不能打字
查看>>
古城钟楼微博:葡萄城程序员演练技术的产物
查看>>
最常用的四种数据分析方法
查看>>
Mesos安装部署笔记
查看>>
epoll的作用和原理介绍
查看>>
服务器远程监控管理(一)-硬件篇
查看>>
Android permission 工具类
查看>>
Tomcat使用与配置
查看>>
Fedora 29 Linux发行版发布
查看>>
php ts nts v6 v9的区别
查看>>
飞塔IPSec ××× V4.0系列配置
查看>>
SonicWall如何安全模恢复出厂设置
查看>>
【java 集合类】Array、List、Map区别和联系【详细】
查看>>
我的友情链接
查看>>
Linux上实现双向进程间通信管道(socketpair)
查看>>
2017qq红包雨最强攻略
查看>>
View 5.1 connection server的SSL配置
查看>>
Oracle 扩展表空间的3种方法(SQL语句)
查看>>
myBatis 基础测试 增 删 改 查 用过hibrenate 之后,感觉很好理解
查看>>
puppet之dashboard安装及优化
查看>>