博主主要是用来更新爬虫Cookie

环境安装

python3 安装selenium  

pip3 install selenium

安装chrome浏览器+chromedriver驱动

一.配置yum源

1.在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo

        

vi /etc/yum.repos.d/google-chrome.repo

2.写入如下代码:

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

  使用vi在命令行编辑:(详细参考https://blog.csdn.net/u013142781/article/details/50735470)

  按下a键使用insert功能来添加修改文件

  修改完成后按下ESC键进入末行模式   然后输入 :q保存  :wq保存退出

二.安装google chrome浏览器

yum update     #更新yum源
yum -y install google-chrome-stable #安装

Google官方源可能在中国无法使用,导致安装失败或者在国内无法更新,可以添加以下参数来安装:

yum -y install google-chrome-stable --nogpgcheck

三.添加软连接

注意:源文件删除后软连接无法使用  ls查看

which google-chrome-stable   #寻找chrome路径
ln -s 路径 /bin/chrome #查询到的路径 添加软连接

四.下载chromedriver驱动

https://chromedriver.storage.googleapis.com/index.html?

下载对应版本的驱动(两个都下载最新的应该没问题),对应表参考:(版本不兼容会出现下面类似的报错)



ChromeDriver v2.43 (2018-10-16)----------Supports Chrome v69-71
ChromeDriver v2.42 (2018-09-13)----------Supports Chrome v68-70
ChromeDriver v2.41 (2018-07-27)----------Supports Chrome v67-69
ChromeDriver v2.40 (2018-06-07)----------Supports Chrome v66-68
ChromeDriver v2.39 (2018-05-30)----------Supports Chrome v66-68
ChromeDriver v2.38 (2018-04-17)----------Supports Chrome v65-67
ChromeDriver v2.37 (2018-03-16)----------Supports Chrome v64-66
ChromeDriver v2.36 (2018-03-02)----------Supports Chrome v63-65
ChromeDriver v2.35 (2018-01-10)----------Supports Chrome v62-64
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'

  (Session info: chrome=65.0.3325.31)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86)
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds

使用xftp复制下载好的文件到服务器执行如下代码:

chmod +x chromedriver #增加可执行权限

#移动文件到该路径
sudo mv -f chromedriver /usr/local/share/chromedriver
#添加软连接(链接存在会报错,直接跳过即可)
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

注意:

  对于root用户不能运行chrome

  编辑启动文件: vim /opt/google/chrome/google-chrome 将最后一行改写为: exec -a "$0" "$HERE/chrome" "$@" --no-sandbox $HOME

因为我这里用的是无界面显示,所以就不装Xvfb,pyvirtualdisplay了

到这里环境安装完毕

下面附上获取网站cookie的代码(模拟登陆什么的自己研究吧,我这里就给个获取cookie的示例)

#centeos 携程cookie更新

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.chrome.options import Options
import pymysql options = webdriver.ChromeOptions()
options.add_argument('--headless')#无界面
driver = webdriver.Chrome(executable_path="chromedriver",chrome_options=options)
url = "https://www.ly.com/iflight/flight-book1.aspx?para=0*SHA*MLE*2019-10-10**YSCF*1*0*1&advanced=false&orgAirCode=false&desAirCode=false"
wait = WebDriverWait(driver,10)#10s等待响应
try: #发生错误结束浏览器,防止占用资源,导致服务器崩溃(也可以在程序开头添加os模块检测chrome进程,每次运行先杀死)
driver.get(url) message = driver.get_cookies() #获取当前页面的cookie
l = ""
for i in message:
name = i["name"] + '=' + i["value"] + ';'
l = l + name
print(l)
driver.quit()
except:
driver.quit()

添加linux定时任务定时更新cookie:

 

crontab -e  #编辑定时任务
crontab -l #查看定时任务
#下面给出几个例子
#每天凌晨30分更新
30 0 * * * python3 /root/global_spider2/global_cn/all_global.py
#每3个小时更新
* */3 * * * python3 /root//国内外机票cookie更新/domestic_cookie.py
#每2个小时更新一次
* */2 * * * python3 /root/国内外机票cookie更新/china_ctrip.py

更多有关于定时任务的操作  https://www.cnblogs.com/zoulongbin/p/6187238.html

Centeos7搭建selenium+Chrome浏览器的更多相关文章

  1. Selenium Chrome浏览器的启动以及proxy设置

    Selenium Chrome浏览器的启动以及proxy设置   虽然WebDriver对Firefox的支持最好,之前写的脚本也都在Firefox浏览器运行,但最近项目做了整合,发现新整合的功能不太 ...

  2. Selenium +Chrome浏览器如何模拟手机操作

    Selenium +Chrome浏览器如何模拟手机操作 进入手机模式 打开谷歌浏览器,按F12,进入开发者模式,点击Toggle device toolbar,进入手机模式 设置Chrome的手机模式 ...

  3. Python3 + selenium + Chrome浏览器(webdriver.Chrome()报错)

    Python3 + selenium + Chrome浏览器 Error: selenium.common.exceptions.WebDriverException: Message: 'chrom ...

  4. selenium+chrome浏览器驱动-爬取百度图片

    百度图片网页中中,当页面滚动到底部,页面会加载新的内容. 我们通过selenium和谷歌浏览器驱动,执行js,是浏览器不断加载页面,通过抓取页面的图片路径来下载图片. from selenium im ...

  5. selenium chrome浏览器与chrome.driver的对应关系

    看到网上基本没有最新的chromedriver与chrome的对应关系表,便兴起整理了一份如下,希望对大家有用: chromedriver版本 支持的Chrome版本 v2.34 v61-63 v2. ...

  6. chrome浏览器爬虫WebDriverException解决采用python + selenium + chrome + headless模式

    WebDriverException: Message: unknown error: Chrome failed to start: crashed 第一种:如果出现下面情况: chrome浏览器有 ...

  7. Java环境下 selenium webDriver + chrome浏览器搭建与调试

    一.首先下载selenium webDriver jar包,下载地址如下: http://selenium-release.storage.googleapis.com/index.html 二.下载 ...

  8. Python3.5+selenium操作Chrome浏览器

    1.安装selenium 命令提示符下输入: pip install selenium 2.下载chromedriver 点击下载 3.将解压后的chromedriver.exe放到chrome浏览器 ...

  9. (原创)如何使用selenium 驱动chrome浏览器并且打开方式为手机模式-转载请注明出处

    随着移动设备使用率的不断增加,移动页面的测试也变得越来越重要. 对于互联网公司M站的测试,如果不通过专用的appium等移动端测试工具是否还有方便快捷的办法呢?答案当然是有啊. 使用chrome dr ...

随机推荐

  1. JVM参数配置&&命令工具

    JVM参数配置 大致方向:JVM调优的目的是保证在一定吞吐量的情况下尽可能的减少GC次数,从而减少系统停顿时间,提高服务质量和效率. 其中减少GC次数的原则: 将新生代转换成老年代的数量降至最少(及时 ...

  2. TypeScript进阶开发——ThreeJs基础实例,从入坑到入门

    前言 我们前面使用的是自己编写的ts,以及自己手动引入的jquery,由于第三方库采用的是直接引入js,没有d.ts声明文件,开发起来很累,所以一般情况下我们使用npm引入第三方的库,本文记录使用np ...

  3. 持续集成高级篇之Jenkins资源调度

    系列目录 之前的示例我们主要关注点在于功能的实现,都是在一个节点的完成了.有了多个节点后,必须涉及到资源的调度问题.本节我们讲解在创建任务时与资源调度的有关选项以及一些平时没有注意到的但在生产环境需要 ...

  4. [python]文档字符串

    文档字符串可以在运行时访问,也可以用来自动生成文档. 输入: def foo(): print "This is a doc string" return True foo() 运 ...

  5. 【Edu49 1027D】 Mouse Hunt DFS 环

    1027D. Mouse Hunt:http://codeforces.com/contest/1027/problem/D 题意: 有n个房间,每个房间放置捕鼠器的费用是不同的,已知老鼠在一个房间x ...

  6. 字符编码与gcc 编译器的编码问题

    最近在 vscode 中借助 gcc 编译器来配置 c 语言开发环境时,发现中文编码存在乱码问题.再加上最近学习到多字节字符与宽字符,搅在一起,搞得很乱,就把自己的理解写下来,供有需者参考吧. 1. ...

  7. python-积卷神经网络全面理解-tensorflow实现手写数字识别

    首先,关于神经网络,其实是一个结合很多知识点的一个算法,关于cnn(积卷神经网络)大家需要了解: 下面给出我之前总结的这两个知识点(基于吴恩达的机器学习) 代价函数: 代价函数 代价函数(Cost F ...

  8. 【Offer】[58-1] 【翻转单词顺序】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变.为简单起见,标点符号和普通字母样处理.例如输入字符串"I am ...

  9. SpringCloud 学习(二)-2 :Securing The Eureka Server

    由于工作等种种原因未能连续进行学习,现在继续学习微服务,不过是新建的demo,springcloud版本用的是Finchley.SR2. 之前用简单demo实现了注册中心,现在来对注册中心加安全验证: ...

  10. zookeeper学习(一)_简介

    上篇文章 我们已经安装上了zookeeper,也简单的体验了一把,但是如果让你给别人介绍下zookeeper,可能也是说不出来.本篇文章就参考了网上各位优秀博主的文章,整理出自己更能理解的内容 优秀博 ...