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因为抑郁症去世,之前看过他的很多博客,简洁幽默,令我心向往之,在此纪念,生而为人,当简单快乐,其他的都要排在第二位
scrapy-redis+selenium+webdriver 部署到linux上的更多相关文章
- Redis介绍及部署在CentOS7上(一)
0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...
- 把Asp.Net Core 2.0部署在Linux上,使用Nginx代理服务器,并且用Systemctl命令以服务的方式监听项目
在Linux上部署.net core 2.0程序: 第一步:配置Nginx代理 在/etc/nginx/sites-available/default 中添加 server { listen ; lo ...
- java项目部署在linux上
在将java项目在linux上之前我们需要准备一下,首先是 一个打成war包的java项目,一个contes的系统,还有就是tomcat和jdkl的压缩包,可以在官网下载, jdk安装 先卸载cent ...
- jenkins自动化部署项目8 -- 新建job(服务代码部署在linux上)
jenkins(windows) ----> 应用服务器(linux): 1.后台java服务: 与部署在windows上不同的是,这里我选择了在[构建后操作]中使用ssh向远程linux服务器 ...
- go交叉编译,部署到linux上出现cannot execute binray file的解决方案
写在前面: 了解过常见的项目部署方式后,打算先从最简单的方式开始.没想到踩了大坑.先说下整个部署的过程. 博主是在window上生成linux上的可执行文件.. 具体过程: 1.首先按照网上说的 ...
- 使用SpringCloud实现的微服务软件开发部署到Linux上占用内存过大问题解决办法
问题描述 最近上线的一个使用JAVA的Spring Cloud开发的ERP软件,部署上线时发现很严重的内存资源占用过高问题,而实际上开发测试并没有很大的访问量,甚至却出现了服务器无法正常访问的现象. ...
- 项目部署到Linux上遇到的坑
作者:晨钟暮鼓c个人微信公众号:程序猿的月光宝盒 1.本地Navicat for MySQL无法连接至服务器(Centos 7 x86_64 bbr) 1045错误: 解决步骤: 1.查看用户名密 ...
- 关于asp.net利用mono部署到Linux上的一些说明
linuxdot.net社区群:102732979(如果你认为你已经在.NET跨平台方面有足够的经验,请参加这个群:103810355). 其中有各种大神,嘿嘿,如果你有问题可以来咨询,完全无偿的免费 ...
- redis(十六):Redis 安装,部署(LINUX环境下)
第一步:下载安装包 访问https://redis.io/download 到官网进行下载.这里下载最新的4.0版本. 第二步:安装 1.通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压 ...
随机推荐
- LeetCode39.组合总和 JavaScript
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...
- JAVA并发(一)
java并发的一系列框架和技术主要是由java.util.concurrent 包所提供.包下的所有类可以分为如下几大类: locks部分:显式锁(互斥锁和速写锁)相关: atomic部分:原子变量类 ...
- Python 学习笔记(十二)Python文件和迭代(二)
迭代 基本含义 迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果.每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值. 在计算科学中,迭代 ...
- Angular7教程-06-页面与数据交互
1. 本节说明 本节的内容会在上期搭建的框架基础上进行数据的填充,顺便回顾之前介绍过的插值表达式,属性绑定等知识,本节的数据只是在组件中模拟数据,后面会有专门的章节讲解如何从服务器获取数据. 2. 轮 ...
- Fpm启动机制及流程分析———详细
FPM(FastCGI Process Manager)是PHP FastCGI运行模式的一个进程管理器,从它的定义可以看出,FPM的核心功能是进程管理,那么它用来管理什么进程呢?这个问题就需要从Fa ...
- C语言写的2048小游戏
基于"基于C_语言的2048算法设计_颜冠鹏.pdf" 这一篇文献提供的思路 在中国知网上能找到 就不贴具体内容了 [摘 要] 针对2048的游戏规则,分析了该游戏的算法特点,对其 ...
- HTML5之拖拽
HTML5拖放 拖放(Drag和drop)是H5标准的组成部分 此处需具备js基础知识及其H5拖拽部分相关方法 在拖动目标上触发事件 (源元素): ondragstart - 用户开始拖动元素时触发 ...
- Java操作Redis(一)
一.创建项目,导入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis& ...
- PHP几种常见魔术方法与魔术变量解析
原文地址:http://small.aiweimeng.top/index.php/archives/49.html 先不多说,直接上代码,如下: class Demo { private $str ...
- HBase的详细安装部署
一.部署 1.Zookeeper正常部署,并且启动 2.Hadoop正常部署,并且启动 3.Hbase的解压 解压HBase到指定目录 tar -xvf /HBase.tar.gz -C /airP ...