爬虫代理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 chromedriver
lrwxrwxrwx. 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 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
chromium --no-sandbox --disable-gpu$@ &
chromium=$!
wait $chromium
wait $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 chromedriver
lrwxrwxrwx. 1 root root 47 11月 30 09:47 chromium -> /usr/lib64/chromium-browser/chromium-browser.sh
lrwxrwxrwx. 1 root root 22 11月 30 09:48 chromium-browser -> /usr/bin/xvfb-chromium
-rwxr-xr-x. 1 root root 73848 12月 7 2016 chronyc
lrwxrwxrwx. 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测试工作的小伙伴可以用!!!!!!!!
分享到:
相关推荐
centos下libstdc++库依赖问题。这里下载:http://pkgs.org/centos-6-rhel-6/centos-rhel-i386/compat-libstdc++-296-2.96-144.el6.i686.rpm/download/
Centos7镜像-百度网盘下载链接 CentOS-7.2-x86_64-DVD-1511 CentOS-7.3-x86_64-DVD-1611 CentOS-7.4-x86_64-DVD-1708 CentOS-7.5-x86_64-DVD-1804 CentOS-7.6-aarch64-Everything-1810 CentOS-7.6-x86_64-DVD-1810 ...
CentOS7.0使用手册+中文PDF版.rar 永久免费
# CentOS7.6 下载地址 # CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-x86_64-Everything-1810.iso ...
主要介绍基于centos7下进行posfix+dovecot进行搭建部署得邮箱服务器得一份文档;
压缩包含centos-release-scl-rh-2-3.el7.centos.noarch.rpm和centos-release-scl-2-3.el7.centos.noarch.rpm,主要用于centos7的gcc安装
3. 安装Chrome:由于selenium需要与Chrome交互,所以需要在服务器上安装Chrome浏览器。 4. 安装Python与pip:selenium通常用Python来编写测试脚本,所以需要安装Python和pip(Python的包管理器)。 四、安装...
CDH-5.9.1-1.cdh5.9.1.p0.4-el7.parcel+cloudera-manager-centos7-cm5.9.1文件太大上传不了(2G)。里面是baiduwangpan链接和提取码。要者自提 Centos7!Centos7!Centos7!Centos7!Centos7!Centos7!别看错了!
在Linux系统中,GCC(GNU Compiler Collection)是用于编译C、C++、Objective-C、Fortran、Ada以及Go等编程语言的开源...然而,这确保了即使在无网络环境的情况下,你仍然能够使用这些强大的编译工具进行开发工作。
本手册主要介绍了在 CentOS 操作系统上配置 iSCSI+Multi-Path 多路径存储的步骤和方法。下面是相关知识点的总结: iSCSI 协议 iSCSI(Internet Small Computer System Interface)是一种基于 TCP/IP 协议的存储...
在CentOS7上,选择特定版本的`libstdc++.so.6`是为了保持与系统其他组件的兼容性以及稳定性。 安装`libstdc++.so.6.0.30`时,通常需要通过yum或dnf(取决于你的CentOS版本)来管理软件包,例如: ```bash sudo yum...
http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
compat-libstdc++-33-3.2.3-47.3.i386.rpm Centos7 安装oracle 所需软件包
现在centos不支持yum安装,此方式可以在centos7安装google-chrome
从技术角度看,CentOS 7.6 在软件包管理上使用了 yum,后来升级为 dnf(尽管在 CentOS 8 中正式使用 dnf,但 CentOS 7.6 可以通过额外安装包转换为使用 dnf)。在安装和配置系统时,用户需要考虑网络配置、分区方案...
CentOS 7.9版本(CentOS-7-aarch64-Everything-2009)适用于ARM64 (aarch64),必须集齐9个文件才能一起解压缩使用,9个文件下载...自2004年3月以来,CentOS Linux一直是社区驱动的开源项目,旨在与RHEL在功能上兼容。
`compat-libstdc++-33`库的存在,就是为了确保这些旧版Oracle软件能够在新版Linux系统上顺利运行。 文件名`compat-libstdc++-33-3.2.3-61.i386.rpm`和`compat-libstdc++-33-3.2.3-61.x86_64.rpm`分别对应于32位...
CentOS-7.6-x86_64-DVD-1810.isoCentOS-7.6-x86_64-DVD-1810.iso
适用于centos 7 x86_64 操作系统 适用于redhat 7 系列操作系统 二进制rpm包 openssh 9.3p2 版本 修复安全漏洞 CVE-2023-38408,当前2023年7月24日最新openssh版本
CentOS7+Kubeadm+K8S集群部署学习实践手册