Ubuntu下的Selenium爬蟲的配置

2022-06-12 23:18:16 字數 2234 閱讀 3919

在伺服器ubuntu系統上跑爬蟲,爬蟲是基於selenium寫的,遇到好幾個問題,現在這裡記錄一下。

阿里雲,ubuntu16.04,因為沒有介面,所以遠端命令列操作。爬蟲是基於selenium寫的,需要安裝chrome瀏覽器和chromedriver。

1

sudo dpkg -i google-chrome*.deb

2sudo apt-get install -f

安裝完成使用命令檢視chrome的版本,若出現版本號說明安裝成功。

1 google-chrome --version

1

sudo apt-get install

unzip

將解壓後的檔案移動到/usr/bin/檔案下,新增執行許可權。

1

sudo

mv chromedriver /usr/bin/

2sudo

chmod +x /usr/bin/chromedriver

1

sudo bash anaconda3-5.2.0-linux-x86_64.sh

安裝時有乙個步驟是要求你輸入安裝路徑,linux下多使用者共享的軟體是在/usr/local目錄下,所以填寫這個目錄。安裝最後會提示問你要不要把anaconda新增到系統路徑,選yes,然後更新root使用者的設定(這樣做還會避免另乙個大坑,下面會講到)。關閉視窗後生效。

1

sudo source ~/.bashrc

1

sudo vim ~/.bashrc

把裡面原來新增的anaconda路徑設定刪除,然後更新一下設定。

1

sudo source ~/.bashrc

在命令列裡輸入python,出現的python版本是3.6而不是系統自帶的2.7或3.5,說明安裝成功。

在root使用者下安裝:

1 pip install selenium

開啟python,輸入以下**,不報錯說明安裝成功。

1

from selenium import webdriver

安裝到這裡就能跑**了嘛?不,還不行,哈哈哈。

selenium跑不起來,報錯。就不截圖了,只是說不能正常啟動。經過我的搜尋,有兩個問題會導致這個錯誤:

selenium.common.exceptions.webdriverexception: message: unknown error: chrome failed to start: exited abnormally (driver info: chromedriver=........

1. 當前執行**的使用者是root使用者,而root使用者開啟chrome需要在沙盒裡執行,webdriver裡預設關閉了沙盒,所以報錯。兩種解決方法,為ubuntu新增乙個新使用者或者修改**裡的設定。我只實驗了第一種,新增了乙個新使用者,第二種沒試。因為root使用者只用來管理,新使用者用來跑**,分開不容易出錯。

ubuntu裡新增新使用者的方法是在root使用者下執行:

1

sudo adduser username

會讓你設定密碼。companyname,phone之類的直接enter跳過就行。

2. 沒有介面,所以裝乙個虛擬介面才行。

在root使用者下安裝pyvirtualdisplay:

1 pip install pyvirtualdisplay

然後在**裡新增以下幾行,進行測試:

1

from selenium import

webdriver

2from pyvirtualdisplay import

display

34if__name__ == '

__main__':

5 display = display(visible=0, size=(800, 800))

6display.start()

7 browser =webdriver.chrome()

8 browser.get('

')9print (browser.title)

大功告成。第一篇部落格,嘻嘻。 如果還有問題那就是第一步安裝的chrome和chromedriver版本不匹配導致的,仔細檢查一下。

ubuntu下的刪除

ubuntu linux 下在終端裡面使用命令刪除目錄,是日常使用ubuntu時經常要用到的。大體來說linux刪除目錄的命令有兩個 rm,rmdir。rm命令刪除目錄雖說比較簡單,但很多人還是習慣於使用rmdir命令。不過一旦所操作的目錄非空時,就會讓你陷入深深的苦惱之中。這時可以考慮直接使用rm...

Ubuntu下的錯誤

block scoped declarations let,const,function,class not yet supported outside strict mode 這怎麼整,命令輸什麼都是這個錯誤 問題解決了 雖然我知道很迷,但是總歸算是好了 1.首先 安裝命令 版本自己可以找哈!重啟...

Ubuntu下Realsense SDK的安裝

git clone安裝依賴環境 sudo apt get install libusb 1.0 0 dev libglfw3 dev libgtk 3 devlibusb是乙個usb裝置訪問介面庫 gtk是乙個圖形工具包 glfw是乙個opengl應用框架 將英特爾伺服器新增到儲存庫列表中 echo...