linux(centos7) 上安装chrome和chromedriver

爬虫工作中, 难免会遇到时间紧迫而且网站有一定的反爬虫措施,这时候就需要用到selenium+chrome+chromedriver来进行数据抓取。

 假如项目需要放到linux服务器上,就需要在服务器搭建相应的环境。

1,需要chrome浏览器;2,需要浏览器驱动chromedriver;(我python环境)

一,安装chrome[参考]

wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

  然后执行下面的命令安装 chrome 需要的依赖包

yum install libX11 libXcursor libXdamage libXext libXcomposite libXi libXrandr gtk3 libappindicator-gtk3 xdg-utils libXScrnSaver liberation-fonts

然后执行命令安装 chrome

rpm -ivh google-chrome-stable_current_x86_64.rpm

完成后执行下面的命令查看版本

google-chrome --version

如下图,看一下我们安装的chrome版本,好选择对应版本的chromedriver

二,下载chromedriver[chromedriver下载地址]

上面图片显示我当前版本 86.0.4240.111

到  http://npm.taobao.org/mirrors/chromedriver/ 寻找86版的chromedriver,如图

linux(centos7) 上安装chrome和chromedriver_第1张图片

下载好之后,上传到服务器,路径可以自定义选择;

还可以添加到环境变量中,这样就不用在程序中创建driver的时候指定chromedriver的路径了。

我的代码如下

# -*- encoding:utf-8 -*-
import platform
from selenium import webdriver


def chromeBrowser(driver_path=None, headless=True, img_load_if=True):
    chrome_options = webdriver.ChromeOptions()  
    chrome_options.add_argument('--no-sandbox')  # 禁用沙箱【不加在liunx下会报错】
    chrome_options.add_argument('--disable-extensions')  # 禁用扩展插件
    chrome_options.add_argument("prxoy-server=11.11.11.11:0000")  # 添加代理
    if headless:  # 启用无界面模式
        chrome_options.add_argument("--headless")
    prefs = {
        'profile.default_content_setting_values': {
            'images': 2,  # 禁止加载图片
            'javascript': 2  # 禁止加载js
        }
    }
    if not img_load_if:  # 禁止图片加载,提高页面加载速度
        chrome_options.add_experimental_option('prefs', prefs)
    if not driver_path:
        if "windows" in platform.system().lower():
            driver_path = "E:\chromedrivers\chromedriver.exe"
        elif "linux" in platform.system().lower():
            driver_path = "/usr/bin/chromedriver"
    driver = webdriver.Chrome(
        executable_path=driver_path,
        chrome_options=chrome_options
    )
    driver.maximize_window()  # 设置窗口最大化
    return driver


if __name__ == "__main__":
    driver = chromeBrowser()
    driver.get("https://www.baidu.com/")
    print(driver.page_source)

 

 

你可能感兴趣的:(selenium,python,chrome,linux)