ubuntu16.04上安装及使用selenium、chrome、chromedriver

最近我们首席的seo优化师提出了一个需求,想自动化获取并更新某些词在百度搜索中的排名,本来是直接使用的request.get去获取数据,刚开始的时候,测试了部分数据,发现排名会有小幅度的波动,这些还属于可接受的范围,实际使用中,进行了大概一万多词的查询,发现很大一部分的词会有较大的偏差,甚至就不会出现。于是就要思考其他方案了。

经过搜索发现,一般都是使用的selenium进行模拟浏览器进行访问,于是就愉快的开始测试了,在windows上很愉快的就跑起来了,但是服务器是使用的ubuntu,百度了一下ubuntu上的安装过程,发现很多文档虽然是对的,但是看内容年代过于久远。又担心本地测试通过以后,还是不会服务器配置,就写篇文章记录一下。因为之前尝试,进行了很多操作,不知道哪一步是有用的,于是默默的还原了一下系统,开始愉快的再走一遍。

第一步:

执行 sudo apt-get update  更新apt-get,耗时可能会比较久

第二步:安装谷歌浏览器

直接下载谷歌浏览器最新版:wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb

安装:dpkg -i google-chrome-stable_current_amd64.deb

如果不出意外,上面这一步一般都不会安装成功(但是也要执行),这个时候我们需要执行 :apt-get install -f 用来下载兼容或者必须的一些软件包

等下载完成以后再重新安装谷歌浏览器,这个时候要记下谷歌浏览器的版本号,这是个很重要的信息,下面安装chromedriver的时候需要使用

Unpacking google-chrome-stable (77.0.3865.90-1) 里面的77.0.3865.90-1就是谷歌浏览器的版本号

第三步:

安装xvfb 安装这个工具是为了让我们可以无界面运行谷歌浏览器,直接apt-get安装即可

sudo apt-get install xvfb

第四步:安装chromedriver

下载chromedriver的安装包,直接访问地址:http://chromedriver.storage.googleapis.com/index.html 去下载自己浏览区对应的版本,如果找不到自己浏览器对应的版本,就找个比较接近的版本就行了,比如我这边的谷歌版本号是77.0.3865.90,但是网站上并没有找个版本对应的驱动

我这边就下载了77.0.3865.40这个版本,点击去找到linux对应的下载地址,直接使用wget进行下载

wget http://chromedriver.storage.googleapis.com/77.0.3865.40/chromedriver_linux64.zip

下载后解压到当前目录下,如果没有安装unzip,就使用apt-get install unzip 安装解压工具

unzip 你下载的zip文件

移动文件夹到usr文件夹下面,并创建软链接,升级为全局变量

mv -f chromedriver /usr/local/share/chromedriver

ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver

ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

到此安装结束,我们执行 chromedriver --version 可以查看安装的版本号

第五步:安装selenium

直接使用pip安装 selenium 依赖   pip3 install selenium

如果你没安装pip 使用命令安装pip

到此安装完成,我们写个test来测试一下

#coding=utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_opt = Options()  # 创建参数设置对象.
chrome_opt.add_argument('--headless')  # 无界面化.
chrome_opt.add_argument('--disable-gpu')  # 配合上面的无界面化.
chrome_opt.add_argument('--window-size=1366,768')  # 设置窗口大小, 窗口大小会有影响.
chrome_opt.add_argument("--no-sandbox") #使用沙盒模式运行
# 创建Chrome对象并传入设置信息.
browser = webdriver.Chrome(chrome_options=chrome_opt)
url = "https://www.baidu.com/"
browser.get(url)
print(browser.page_source)
browser.quit()

我们执行一下,发现屏幕上输出了百度的html代码,至此大功告成。

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值