爬虫项目ubuntu18.04服务器下配置爬虚拟界面谷歌浏览器有头模式 xvfb+chromedriver+google-chrom

鉴于正在编写一个scrapy+selenium爬虫项目的需要,需要在 linux无界面服务器 环境下配置爬虫环境,本文参考了 centos 下的配置文章 https://www.cnblogs.com/ybyn/p/13690914.html
总共分为几个步骤

安装 google-chrome

方法有很多种
1、从源安装

#添加google-chrome 源
sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
#添加 google 公钥
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub  | sudo apt-key add -
#更新源
sudo apt-get update
#安装 google-chrome 稳定版
sudo apt-get install google-chrome-stable

2、查看 google-chrome 版本

google-chrome  -version

Google Chrome 89.0.4389.114

安装 chrome-driver

网址 https://npm.taobao.org/mirrors/chromedriver/
根据google-chrome -version得出的版本号下载 chromedriver
wget https://npm.taobao.org/mirrors/chromedriver/89.0.4389.23/chromedriver_linux64.zip
解压
unzip chromedriver_linux64.zip
移动到/usr/bin目录

sudo mv chromedriver  /usr/bin/chromedriver

安装 xvfb

sudo apt update
sudo apt install xvfb

更改软链接

#将原来的google启动链接链接到/usr/bin/chrome
ln -s /etc/alternatives/google-chrome /usr/bin/chrome
#移除/usr/bin/google-chrome软链接
rm -rf /usr/bin/google-chrome
#设置xvfb-chrome脚本为新的启动链接
ln -s /usr/bin/xvfb-chrome /usr/bin/google-chrome

编写 xvfb-chrome 启动脚本

#!/bin/bash

_kill_procs() {
kill -TERM $chrome
wait $chrome
kill -TERM $xvfb
}

# Setup a trap to catch SIGTERM and relay it to child processes
trap _kill_procs SIGTERM

XVFB_WHD=${XVFB_WHD:-1280x720x16}

# Start Xvfb
Xvfb :99 -ac -screen 0 $XVFB_WHD -nolisten tcp &
xvfb=$!

export DISPLAY=:99

chrome --no-sandbox --disable-gpu$@ &
chrome=$!

wait $chrome
wait $xvfb

大功告成

至此 scrapy crawl spidername 命令, 项目可以正常启动了 注意 options 项中不要添加–headless

2021-05-04 以上方法会造成内存泄露
用pyvirtualdisplay调用 xvfb 可以更好地控制
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 800))
display.start()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值