Python使用selenium + headless chrome获取网页内容的方法示例


Posted in Python onOctober 16, 2019

使用python写爬虫时,优选selenium,由于PhantomJS因内部原因已经停止更新,最新版的selenium已经使用headless chrome替换掉了PhantomJS,所以建议将selenium更新到最新版,使用selenium + headless chrome

准备工作:

安装chrome、chrome driver、selenium

一、安装chrome

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

> cd /ect/yum.repos.d/
> vim google-chrome.repo

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

[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub

安装google chrome浏览器:

> yum -y install google-chrome-stable

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

> yum -y install google-chrome-stable --nogpgcheck

这样,google chrome即可安装成功。

二、安装chrome driver

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

三、安装selenium

> pip install selenium

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

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options


options = Options()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('lang=zh_CN.UTF-8')

# 在linux上需要添加一下两个参数
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

browser = Chrome(chrome_options=options)
browser.set_page_load_timeout(30)
browser.set_script_timeout(30)
browser.get(url)

# 获取返回内容
print browser.page_source

# 查找元素
print browser.find_element_by_tag_name('pre').text

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pytorch 把MNIST数据集转换成图片和txt的方法
May 20 Python
idea创建springMVC框架和配置小文件的教程图解
Sep 18 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
Jun 21 Python
python中的decimal类型转换实例详解
Jun 26 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
pycharm 添加解释器的方法步骤
Aug 31 Python
python动态规划算法实例详解
Nov 22 Python
Python如何实现Paramiko的二次封装
Jan 30 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
如何用python绘制雷达图
Apr 24 Python
Python实现为PDF去除水印的示例代码
Apr 03 Python
使用python实现kNN分类算法
Oct 16 #Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
Oct 16 #Python
python可视化实现KNN算法
Oct 16 #Python
python实现KNN分类算法
Oct 16 #Python
python子线程退出及线程退出控制的代码
Oct 16 #Python
python Pillow图像处理方法汇总
Oct 16 #Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 #Python
You might like
在Yii框架中使用PHP模板引擎Twig的例子
2014/06/13 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
react-router中的属性详解
2017/06/01 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
js input输入百分号保存数据库失败的解决方法
2018/05/26 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
python logging日志模块的详解
2017/10/29 Python
Python学生成绩管理系统简洁版
2020/04/05 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
详解从Django Allauth中进行登录改造小结
2019/12/18 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
Python如何输出百分比
2020/07/31 Python
表达自我的市场:Society6
2018/08/01 全球购物
中学教师管理制度
2014/01/14 职场文书
幼儿园见习报告
2014/10/30 职场文书
家长学校教学计划
2015/01/19 职场文书
高三英语教学计划
2015/01/23 职场文书
文艺晚会开场白
2015/05/29 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android