一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - selenium+chromedriver在服務器運行的詳細教程

selenium+chromedriver在服務器運行的詳細教程

2020-07-18 23:30woodcol 服務器知識

這篇文章主要介紹了selenium+chromedriver在服務器運行的詳細方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1.前言

想使用selenium從網站上抓數據,但有時候使用phantomjs會出錯。chrome現在也有無界面運行模式了,以后就可以不用phantomjs了。

但在服務器安裝chrome時出現了一些錯誤,這里總結一下整個安裝過程

2.ubuntu上安裝chrome

?
1
2
3
4
5
6
# 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

這時應該已經安裝好了,用下邊的命行運行測試一下:

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

這里是使用headless模式進行遠程調試,ubuntu上大多沒有gpu,所以–disable-gpu以免報錯。
之后可以再打開一個ssh連接到服務器,使用命令行訪問服務器的本地的9222端口:

curl http://localhost:9222

如果安裝好了,會看到調試信息。但我這里會報一個錯誤,下邊是錯誤的解決辦法。

1)可能的錯誤解決方法

運行完上邊的命令可能會報一個不能在root下運行chrome的錯誤。這個時候使用下邊方設置一下chrome

1.找到google-chrome文件

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

2.用vi打開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.再重新打開google-chrome即可正常訪問!

3.安裝chrome驅動chromedriver

下載chromedriver

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

chromedriver最好安裝最新版的,記的我一開始安裝的不是最新版的,會報一個錯。用最新版的chromedriver就沒有問題,最新版的可以在下邊地址找到
https://sites.google.com/a/chromium.org/chromedriver/downloads

我寫這個文章時最新版是2.37

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

到這里服務器端的無界面版chrome就安裝好了。

4.無界面版chrome使用方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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中的第三項設置參數,使用這個設置可以避免網站檢測到你使用的是無界模式進行反抓取。

下邊另外的兩項設置,不進行設置時在桌面版linux系統,或者mac系統上會打開有界面的chrome.調試時可以注釋掉下邊兩行使用有界面版chrome來調試程序。

?
1
2
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

總結

到此這篇關于selenium+chromedriver在服務器運行的文章就介紹到這了,更多相關selenium+chromedriver在服務器運行內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/fengmm521/article/details/79661771

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产区中文在线观看 | 亚洲福利电影一区二区? | 我与肥熟老妇的性事 | 免费看黄色片的网站 | 欧美一级精品 | 国外成品精品1688 | 爱情岛论坛亚洲品质自拍视频 | 精品性影院一区二区三区内射 | 新影音先锋男人色资源网 | 青青热久麻豆精品视频在线观看 | 九九九九九热 | 五月最新商场女厕所高跟嘘嘘 | 男人肌肌捅女人肌肌 | 国产精品久久现线拍久青草 | 98精品全国免费观看视频 | 97影院伦理 | 欧美人伦禁忌.5 | 成人丁香婷婷 | 国产亚洲一区二区三区 | 2023毛片| 国产成人精品三级在线 | 9966久久精品免费看国产 | 日韩欧美一级大片 | 接吻吃胸摸下面啪啪教程 | 调教全程肉动画片在线观看 | 2021日本三级理论影院 | 国产成+人+综合+亚洲不卡 | 午夜影院0606免费 | 韩国一级淫片特黄特刺激 | 秋霞午夜伦午夜高清福利片 | 国内精品久久久久小说网 | 丰满在线观看 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 97青草香蕉依人在线播放 | 婷婷影院在线观看 | 三级午夜宅宅伦不卡在线 | 亚洲图片 自拍偷拍 | 无限时间看片在线观看 | 陈峰姚瑶全集小说无删节 | 91制片厂制作果冻传媒破解 | 亚洲国产欧美在线看片 |