centos7中配置python爬蟲selenium+chromium+chromedriver環境


今天為了爬取某異步加載網站的數據,開始自學了selenium,不得不說selenium還是很方便的工具,適合無腦爬取異步加載的網站。首先我在自己的windows電腦下配置了selenium和chromedriver的chrome瀏覽器內核,正常調試好程序后准備部署到centos7服務器上,但是遇到了很多問題,不停報錯,在踩了很多雷以后終於可以完美部署selenium+chromium+chromedriver環境順利爬蟲了!

接下來我就詳細介紹下正確的配置方式

  1. 安裝selenium:這一步比較簡單,直接pip安裝就行:

    pip install selenium
    
  2. 安裝chromium:由於谷歌chrome並不支持linux,也就更不支持centos了,所以需要安裝chromium,不過不用擔心,chromium也是谷歌的開源項目,與chrome並沒有太大的區別

    yum install chromium
    

    這一步也沒什么問題,需要注意一下chromium安裝的版本,因為要與下一步需要安裝的chromedriver版本相適配,二者版本不同都會報錯,這里我也是踩雷了,chromium默認安裝的最新版為“79.0.3945.130-1.el7”,但是chromedriver已經更新到了81.0,第一次安裝的時候我選擇了最高版本的chromedriver,但是chromium還是79.0版本,執行python腳本的時候就報錯版本不適配,所以我重新安裝了對應版本的chromedriver。

    如何查看安裝的chromium版本?yum就可以看到

    yum list installed
    

  1. 安裝chromedriver:這里我們從taobao鏡像站點安裝:

    # 下載對應版本的chromedriver
    wget https://npm.taobao.org/mirrors/chromedriver/79.0.3945.16/chromedriver_linux64.zip
    # 解壓
    unzip chromedriver_linux64.zip
    # 把chromedriver移動到系統目錄
    mv chromedriver /usr/bin
    

    方法2:直接yum安裝,這樣其實更省事兒一點

    yum chromedriver
    

    安裝完成后確認一下版本與chromium保持一致:

到這一步已經配置好selenium+chromium+chromedriver的環境了,接下來我們寫一個最簡單的python腳本試一下!

from selenium import webdriver
from selenium.webdriver.chrome.options import Options  # 導入瀏覽器內核設置,主要是為了設置無頭(headless)模式

url = 'www.baidu.com'
chrome_options = Options()
chrome_options.add_argument('--headless')  # 設置Chrome為無頭模式
driver = webdriver.Chrome(options=chrome_options)
driver.get(url)
driver.close()

誒,報錯了:The process started from chrome location /usr/lib64/chromium-browser/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed

按照網上的教程:https://cloud.tencent.com/developer/article/1404558

在腳本上加上兩句話:

option.add_argument('no-sandbox')
option.add_argument('disable-dev-shm-usage')

完美解決了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM