目录
基本环境:centos7,python3.x
1.安装selenium
pip3 install selenium
2.安装chrome-browser
1 2 |
[root@localhost ~]# wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm --no-check-certificate [root@localhost ~]# yum install ./google-chrome-stable_current_x86_64.rpm |
使用上述方法,默认会安装最新版本的chrome,如果想重装其他的版本,可以下载相应版本chrome的rpm包来安装。
1 2 3 4 |
[root@localhost ~]# rpm -qa | grep chrome # 查看当前安装的chrome版本 google-chrome-stable-75.0.3770.90-1pclos2019.x86_64 [root@localhost ~]# rpm -e google-chrome-stable-75.0.3770.90-1pclos2019.x86_64 # 卸载当前安装的chrome版本 [root@localhost ~]# rpm -ivh google-chrome-58.0.3029.110_x86_64.rpm # 重新安装chrome |
3.下载chromedriver(注意要和chrome-browser版本对应)
使用如下命令查看你安装的chrome版本:
1 2 |
[root@localhost ~]# google-chrome --version Google Chrome 75.0.3770.90 |
各版本chromedriver下载地址:
http://chromedriver.storage.googleapis.com/index.html
http://npm.taobao.org/mirrors/chromedriver/
在下载地址中找到与你的chrome对应的chromedriver 版本并下载、解压此文件,并将文件移动到/usr/bin目录下
1 2 |
[root@localhost ~]# unzip chromedriver_linx64.zip [root@localhost ~]# mv chromedriver /usr/bin/ |
4.测试selenium是否可用,请执行以下python脚本,如返回html内容,则说明安装成功
创建一个 test.py 文件,内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# -*- coding: utf-8 -*- from selenium import webdriver print("开始爬取") # 创建chrome参数对象 options = webdriver.ChromeOptions() options.add_argument('--no-sandbox') # 解决DevToolsActivePort文件不存在的报错 options.add_argument('window-size=1600x900') # 指定浏览器分辨率 options.add_argument('--disable-gpu') # 谷歌文档提到需要加上这个属性来规避bug options.add_argument('--hide-scrollbars') # 隐藏滚动条, 应对一些特殊页面 options.add_argument('blink-settings=imagesEnabled=false') # 不加载图片, 提升速度 options.add_argument('--headless') # 浏览器不提供可视化页面. linux下如果系统不支持可视化不加这条会启动失败 brower = webdriver.Chrome(options=options,executable_path='/usr/bin/chromedriver') # chromedriver的路径 brower.get('http://www.baidu.com') print(brower.title) # print(brower.page_source) brower.quit() print("爬取完成") |
命令行执行 python test.py ,启动脚本,输出如下内容则证明Selenium+chromedriver安装成功:
1 2 3 4 |
[root@localhost ~]# python3 test.py 开始爬取 百度一下,你就知道 爬取完成 |