主頁(yè) > 知識(shí)庫(kù) > selenium+chromedriver在服務(wù)器運(yùn)行的詳細(xì)教程

selenium+chromedriver在服務(wù)器運(yùn)行的詳細(xì)教程

熱門(mén)標(biāo)簽:宜賓銷(xiāo)售外呼系統(tǒng)軟件 高德地圖標(biāo)注公司需要錢(qián) 云南電商智能外呼系統(tǒng)哪家好 廈門(mén)防封電銷(xiāo)電話卡 地圖標(biāo)注員有發(fā)展前景嗎 濰坊寒亭400電話辦理多少錢(qián) 地圖標(biāo)注能更改嗎 四川保險(xiǎn)智能外呼系統(tǒng) 外呼系統(tǒng)全國(guó)

1.前言

想使用selenium從網(wǎng)站上抓數(shù)據(jù),但有時(shí)候使用phantomjs會(huì)出錯(cuò)。chrome現(xiàn)在也有無(wú)界面運(yùn)行模式了,以后就可以不用phantomjs了。

但在服務(wù)器安裝chrome時(shí)出現(xiàn)了一些錯(cuò)誤,這里總結(jié)一下整個(gè)安裝過(guò)程

2.ubuntu上安裝chrome

# Install Google Chrome
# https://askubuntu.com/questions/79280/how-to-install-chrome-browser-properly-via-command-line
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb # Might show "errors", fixed by next line
sudo apt-get install -f

這時(shí)應(yīng)該已經(jīng)安裝好了,用下邊的命行運(yùn)行測(cè)試一下:

google-chrome --headless --remote-debugging-port=9222 https://chromium.org --disable-gpu

這里是使用headless模式進(jìn)行遠(yuǎn)程調(diào)試,ubuntu上大多沒(méi)有g(shù)pu,所以–disable-gpu以免報(bào)錯(cuò)。
之后可以再打開(kāi)一個(gè)ssh連接到服務(wù)器,使用命令行訪問(wèn)服務(wù)器的本地的9222端口:

curl http://localhost:9222

如果安裝好了,會(huì)看到調(diào)試信息。但我這里會(huì)報(bào)一個(gè)錯(cuò)誤,下邊是錯(cuò)誤的解決辦法。

1)可能的錯(cuò)誤解決方法

運(yùn)行完上邊的命令可能會(huì)報(bào)一個(gè)不能在root下運(yùn)行chrome的錯(cuò)誤。這個(gè)時(shí)候使用下邊方設(shè)置一下chrome

1.找到google-chrome文件

我的位置位于/opt/google/chrome/

2.用vi打開(kāi)google-chrome文件

vi /opt/google/chrome/google-chrome

在文件中找到

exec -a "$0" "$HERE/chrome" "$@"

3.在后面添加 –user-data-dir –no-sandbox即可,整條shell命令就是

exec -a "$0" "$HERE/chrome" "$@" --user-data-dir --no-sandbox

4.再重新打開(kāi)google-chrome即可正常訪問(wèn)!

3.安裝chrome驅(qū)動(dòng)chromedriver

下載chromedriver

chromedriver提供了操作chrome的api,是selenium控制chrome的橋梁。

chromedriver最好安裝最新版的,記的我一開(kāi)始安裝的不是最新版的,會(huì)報(bào)一個(gè)錯(cuò)。用最新版的chromedriver就沒(méi)有問(wèn)題,最新版的可以在下邊地址找到
https://sites.google.com/a/chromium.org/chromedriver/downloads

我寫(xiě)這個(gè)文章時(shí)最新版是2.37

wget https://chromedriver.storage.googleapis.com/2.37/chromedriver_linux64.zip
unzip chromedriver_linux64.zip

到這里服務(wù)器端的無(wú)界面版chrome就安裝好了。

4.無(wú)界面版chrome使用方法

from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument("user-agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'")
wd = webdriver.Chrome(chrome_options=chrome_options,executable_path='/home/chrome/chromedriver')

wd.get("https://www.163.com")

content = wd.page_source.encode('utf-8')
print content

wd.quit()

這里chrome_options中的第三項(xiàng)設(shè)置參數(shù),使用這個(gè)設(shè)置可以避免網(wǎng)站檢測(cè)到你使用的是無(wú)界模式進(jìn)行反抓取。

下邊另外的兩項(xiàng)設(shè)置,不進(jìn)行設(shè)置時(shí)在桌面版linux系統(tǒng),或者mac系統(tǒng)上會(huì)打開(kāi)有界面的chrome.調(diào)試時(shí)可以注釋掉下邊兩行使用有界面版chrome來(lái)調(diào)試程序。

chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')

5.參考

https://jiayi.space/post/zai-ubuntufu-wu-qi-shang-shi-yong-chrome-headless
https://blog.csdn.net/u013703963/article/details/71083802

總結(jié)

到此這篇關(guān)于selenium+chromedriver在服務(wù)器運(yùn)行的文章就介紹到這了,更多相關(guān)selenium+chromedriver在服務(wù)器運(yùn)行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:紅河 廊坊 回訪 巴彥淖爾 廣安 湛江 德州 滁州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《selenium+chromedriver在服務(wù)器運(yùn)行的詳細(xì)教程》,本文關(guān)鍵詞  selenium+chromedriver,在,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《selenium+chromedriver在服務(wù)器運(yùn)行的詳細(xì)教程》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于selenium+chromedriver在服務(wù)器運(yùn)行的詳細(xì)教程的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章