在伺服器ubuntu系統上跑爬蟲,爬蟲是基於selenium寫的,遇到好幾個問題,現在這裡記錄一下。
阿里雲,ubuntu16.04,因為沒有介面,所以遠端命令列操作。爬蟲是基於selenium寫的,需要安裝chrome瀏覽器和chromedriver。
1sudo dpkg -i google-chrome*.deb
2sudo apt-get install -f
安裝完成使用命令檢視chrome的版本,若出現版本號說明安裝成功。
1 google-chrome --version
1sudo apt-get install
unzip
將解壓後的檔案移動到/usr/bin/檔案下,新增執行許可權。
1sudo
mv chromedriver /usr/bin/
2sudo
chmod +x /usr/bin/chromedriver
1sudo bash anaconda3-5.2.0-linux-x86_64.sh
安裝時有乙個步驟是要求你輸入安裝路徑,linux下多使用者共享的軟體是在/usr/local目錄下,所以填寫這個目錄。安裝最後會提示問你要不要把anaconda新增到系統路徑,選yes,然後更新root使用者的設定(這樣做還會避免另乙個大坑,下面會講到)。關閉視窗後生效。
1sudo source ~/.bashrc
1sudo vim ~/.bashrc
把裡面原來新增的anaconda路徑設定刪除,然後更新一下設定。
1sudo source ~/.bashrc
在命令列裡輸入python,出現的python版本是3.6而不是系統自帶的2.7或3.5,說明安裝成功。
在root使用者下安裝:
1 pip install selenium
開啟python,輸入以下**,不報錯說明安裝成功。
1from 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使用者下執行:
1sudo adduser username
會讓你設定密碼。companyname,phone之類的直接enter跳過就行。
2. 沒有介面,所以裝乙個虛擬介面才行。
在root使用者下安裝pyvirtualdisplay:
1 pip install pyvirtualdisplay
然後在**裡新增以下幾行,進行測試:
1from 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...