摘要:记录一下selenium+Chrome在linux服务器上的部署

最近尝试着在linux服务器上部署爬虫,一波三折。具体步骤如下:

安装步骤

下载Chrome浏览器

wget -O google.deb "http://170.210.201.179/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_70.0.3538.110-1_amd64.deb"

安装Chrome浏览器

dpkg -i google.deb
# 如果出现依赖错误,就使用 apt-get -f -y install 修复一下依赖,然后使用dpkg -i google.deb重新安装

安装selenium

pip3 install selenium

安装chromedriver

chromedriver的下载地址 https://npm.taobao.org/mirrors/chromedriver/71.0.3578.80/,下载chromedriver_linux64.zip这个文件。
解压之后将chromedriver复制到/usr/bin这个目录下,相当于windows设置环境变量

cp /root/chromedriver_linux64/chromedriver /usr/bin/chromedriver
chmod 755 /usr/bin/chromedriver

使用

下面是一个使用例子:

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = webdriver.ChromeOptions()
 # 开启无界面模式
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--profile-directory=Default')
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-plugins-discovery")
chrome_options.add_argument("--start-maximized")
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
chrome_options.add_experimental_option('useAutomationExtension', False)
chrome_options.add_argument('disable-infobars')
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=chrome_options)
# executable_path用于设定chromedriver的路径
# driver = webdriver.Chrome(executable_path="/root/chromedriver_linux64/chromedriver", options=options)
driver.get("https://www.baidu.com")
# 如果不加set_window_size使用selenium过程中会出现很多奇奇怪怪的问题
driver.set_window_size(1920, 1080)
driver.get_screenshot_as_file("linux部署测试1.png")
f = open("linux部署测试1.html", "w", encoding="utf-8")
content = driver.page_source
f.write(content)
f.close()
driver.quit()
文章目录