scrapy-redis+selenium+webdriver 部署到linux上
背景:在使用selenium时,在本地使用windows,都会有一个图形界面,但是到了生产环境linux上没有了图形界面怎么部署呢?
解决方案:
1.安装图形化界面,不推荐,因为安装图形化界面会占用很多内存,而且在linux上搞个图形界面,很不爽
2.使用虚拟化图形界面,就跟你的虚拟机一样,也是一套系统,不过不会弹出个界面,推荐使用
系统配置:
redis 3.1.0
requests 2.21.0
Scrapy 1.6.0
scrapy-redis 0.6.8
scrapyd 1.2.0
scrapyd-client 1.1.0
linux:CentOS Linux release 7.6.1810 (Core)
firefox:Mozilla Firefox 65.0.1
selenium: 3.141.0
pyvirtualdisplay: 0.2.1
geckodriver.exe: 0.23
xvfb:xorg-x11-server-Xvfb-1.20.1-5.2.el7_6.x86_64
解释:
1.查看linux系统版本命令:cat /etc/redhat-release
2.安装xvfb: yum install xorg-x11-server-Xvfb gtk3
3.安装geckodriver:下载地址
I.制作软链接: ln -s /usr/bin/geckodriver /你的geckodriver目录
4.linux上安装firefox:下载地址
I.查看linux系统版本:linux命令行输入: getconf LONG_BIT,如果是64为就下载64位的firefox
II.上传到linux,解压:tar -xjf Firefox-latest-x86_64.tar.bz2
III.进入firefox目录,命令行输入firefox,出现Error: GDK_BACKEND does not match available displays,说明安装成功
IV:制作软链接,ln -s /usr/bin/firefox /你的火狐目录/firefox
5.安装pyvirtualdisplay:pip3 install pyvirtualdisplay (我是用的是python3,这是做的软链接是pip3)
----------------------------------------------------------菇凉滑溜溜的马甲线----------------------------------------------------------
插播一条新闻:今天看到一则消息,博客园技术大佬vamei因为抑郁症去世,之前看过他的很多博客,简洁幽默,令我心向往之,在此纪念,生而为人,当简单快乐,其他的都要排在第二位