18910140161

Python使用selenium + headless chrome获取网页内容

顺晟科技

2021-06-16 10:45:44

299

使用大蟒写爬虫时,优选硒,由于PhantomJS因内部原因已经停止更新,最新版的硒已经使用无头铬合金替换掉了PhantomJS,所以建议将硒更新到最新版,使用硒无头铬

准备工作:

安装铬、铬驱动器、硒

一、安装铬

配置妙的下载源,在目录/etc/yum。repa。d/下新建文件google-chrome.repo

CD/ect/yum。repa。d/

vim google-chrome.repo

编辑google-chrome.repo,内容如下,保存退出

[谷歌浏览器]

name=google-chrome

基本URL=http://dl。谷歌。com/Linux/chrome/rpm/stable/$ base arch

enabled=1

gpgcheck=1

gpg密钥=https://dl-SSL。谷歌。com/Linux/Linux _ signing _ key。酒馆

安装谷歌浏览器浏览器:

好吃安装谷歌铬稳定的

PS: Google官方源可能在中国无法使用,导致安装失败或者在国内无法更新,可以添加以下参数来安装:

好吃安装Google-chrome-stable-nopccheck

这样,谷歌铬即可安装成功。

二、安装铬驱动器

查看上述安装的铬版本,根据版本选择对应的铬驱动器下载,下载之后放到/usr/local/bin目录

三、安装硒

点安装硒

上述准备工作完成后,就可以开始写代码了

从selenium.webdriver导入铬

来自硒。web驱动程序。铬合金。选择导入选项

选项=选项()

options.add_argument(' -无头)

选项。add _ argument('-disable-GPU ')

选项。add _ argument(' lang=zh _ CN .UTF-8 ')

# 在Linux操作系统操作系统上需要添加一下两个参数

选项。add _ argument('-no-sandbox ')

选项。add _ argument('-disable-dev-shm-usage ')

浏览器=Chrome(chrome_options=options)

浏览器。set _ page _ load _ time out(30)

browser.set_script_timeout(30)

browser.get(url)

# 获取返回内容

print browser.page_source

# 查找元素

打印浏览器。find _ element _ by _ tag _ name(' pre ').文本

备注:如果访问一些详情页有甜饼干验证,可以先访问主页,然后再访问详情页,webdriver会自动携带甜饼干

我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航