Centos玩转headless浏览器:Python+Selenium+Chromedriver

Abbey写爬虫向来都是requests+re+threading+Queue四件套,不喜欢用__爬虫框架__(scrapypyspider等),也不喜欢用__headless浏览器__(selenium),但是有时候不得不向黑暗势力低头 在前面《记一次Discuz反反爬虫的经历》一篇文章提到过,为了过discuz恶心的反爬虫,使用了headless浏览器。本文记录一下selenium的配置过程,还有基础的使用。

Selenium+Chromedriver配置

提到 headless浏览器,之前可能比较常提到的是 phantomjs,但是selenium已经开始要停止支持 phantomjs 了,所以更推荐使用 Chrome 或者是 Firefox 的无界面浏览器。

本文介绍的是 Selenium+Chromedriver 配置。

下载&解压Chromedriver

mkdir driver && cd driver
wget https://chromedriver.storage.googleapis.com/2.44/chromedriver_linux64.zip
unzip chromedriver_linux64.zip

安装Xvfb

要在纯shell环境下实现无界面浏览器,必须用到xvfb,具体干嘛的,作为野生程序猿根本不在乎,反正必须安装就是了

yum install Xvfb

安装chrome浏览器

curl https://intoli.com/install-google-chrome.sh | bash

Python使用selenium+chrome

安装依赖包

pip install selenium PyVirtualDisplay

简单运行代码

#引入模块
from selenium import webdriver

#配置好前面的chromedriver路径
executable_path='/root/driver/chromedriver'

#启动项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless') #无界面运行
chrome_options.add_argument('--disable-gpu') #禁止gpu
chrome_options.add_argument('--no-sandbox') #禁止沙盒模式

#启动浏览器
driver = webdriver.Chrome(executable_path=executable_path,chrome_options=chrome_options)

#打开网页
driver.get('https://www.baidu.com')

高级使用

其实Abbey不熟悉selenium,所以高级使用方法请自行搜索吧。

笔记

没有

本文作者:Abbey

本文链接:https://www.abbeyok.com/archives/233

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。转载请注明出处!

【笔记】... <<
3 条评论
  1. author
    2019-08-01
    许比多

    有用,抓取成功了~

  2. author
    2019-03-06
    Abbey
    2019-03-06
    天城
    以为是技术文章,水货!...

    滚犊子

  3. author
    2019-03-06
    天城

    以为是技术文章,水货!

请先登陆注册

已登录,注销 取消