前面已经介绍了通过selenium来模拟对浏览器的操作,但是必须依赖图形化才能实现。如果想在命令行页面的centos上实现爬取,就需要安装Pyvirtualdisplay来模拟。

环境安装

安装Chrome浏览器

  • 添加yum源 新建google-chrome.repo文件,放到对应目录下(/etc/yum.repos.d/)

    [google-chrome]
    name=google-chrome
    baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64
    enabled=1
    gpgcheck=0
    gpgkey=https://dl.google.com/linux/linux_signing_key.pub
    
  • 更新和安装

    yum update
    yum install -y wget gcc zlib zlib-devel Xvfb
    yum -y install google-chrome-stable
    yum groupinstall "fonts"
    
  • 查看版本

[root@dp-tce-ap-007 ~]# google-chrome --version
Google Chrome 87.0.4280.88

安装selenium和Pyvirtualdisplay

这个比较简单,直接用pip安装

pip install selenium
pip install pyvirtualdisplay

使用

请参考下面代码

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
print(driver.title)
driver.quit()
display.stop()