selenium+chromedriver在服務(wù)器運(yùn)行的詳細(xì)教程
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端口:
如果安裝好了,會(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)文章希望大家以后多多支持腳本之家!
- jar包在linux服務(wù)器已經(jīng)運(yùn)行好但是訪問(wèn)不到地址的問(wèn)題及解決方法
- C#控制臺(tái)程序如何發(fā)布到服務(wù)器Linux上運(yùn)行
- 解決服務(wù)器運(yùn)行jupyter notebook方法
- python 服務(wù)器運(yùn)行代碼報(bào)錯(cuò)ModuleNotFoundError的解決辦法
- pycharm 實(shí)現(xiàn)本地寫(xiě)代碼,服務(wù)器運(yùn)行的操作
- Pycharm使用遠(yuǎn)程linux服務(wù)器conda/python環(huán)境在本地運(yùn)行的方法(圖解))
- jmeter 在linux服務(wù)器的安裝和運(yùn)行教程圖解
- 如何在多臺(tái)服務(wù)器上運(yùn)行相同命令
相關(guān)文章
基于Tcl語(yǔ)言配置簡(jiǎn)單網(wǎng)絡(luò)環(huán)境過(guò)程解析
這篇文章主要介紹了基于Tcl語(yǔ)言配置簡(jiǎn)單網(wǎng)絡(luò)環(huán)境過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07搭建dnsmasq自運(yùn)營(yíng)dns服務(wù)器的實(shí)現(xiàn)步驟
DNSmasq是一個(gè)輕巧的,容易使用的DNS服務(wù)工具,本文主要介紹了搭建dnsmasq自運(yùn)營(yíng)dns服務(wù)器的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01寶塔面板定時(shí)訪問(wèn)URL地址的實(shí)現(xiàn)步驟
寶塔面板挺好用的,特別是用來(lái)定時(shí)備份網(wǎng)站及數(shù)據(jù)庫(kù)、同步時(shí)間、釋放內(nèi)存等,本文主要介紹了寶塔面板定時(shí)訪問(wèn)URL地址的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08網(wǎng)站壓力測(cè)試工具-ab工具apache?bench使用過(guò)程
apache?bench是apache自帶的壓力測(cè)試工具。ab不僅可以對(duì)apache服務(wù)器進(jìn)行網(wǎng)站訪問(wèn)壓力測(cè)試,也可以對(duì)或其它類(lèi)型的服務(wù)器進(jìn)行壓力測(cè)試。ab工具上手學(xué)習(xí)較快,可以提供需要的基本性能指標(biāo),但沒(méi)有圖形化結(jié)果,不能監(jiān)控。因此可以用作臨時(shí)緊急任務(wù)和簡(jiǎn)單測(cè)試。2022-11-11svn服務(wù)器安裝在centos7系統(tǒng)平臺(tái)
本文給大家介紹的是在centos7系統(tǒng)上安裝svn服務(wù)器的詳細(xì)教程,有需要的小伙伴可以參考下2018-04-04無(wú)需密碼通過(guò)ssh執(zhí)行rsync來(lái)同步文件的方法
這篇文章主要介紹了無(wú)需密碼通過(guò)ssh執(zhí)行rsync來(lái)同步文件的方法,需要的朋友可以參考下2015-01-01阿里云快速搭建一個(gè)靜態(tài)網(wǎng)站的方法步驟
這篇文章主要介紹了阿里云快速搭建一個(gè)靜態(tài)網(wǎng)站的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02