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 相关文章推荐
python多线程扫描端口示例
Jan 16 Python
Python SVM(支持向量机)实现方法完整示例
Jun 19 Python
Python os.rename() 重命名目录和文件的示例
Oct 25 Python
python绘制直方图和密度图的实例
Jul 08 Python
使用Rasterio读取栅格数据的实例讲解
Nov 26 Python
python3格式化字符串 f-string的高级用法(推荐)
Mar 04 Python
在python中使用nohup命令说明
Apr 16 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
Keras设置以及获取权重的实现
Jun 19 Python
使用OpenCV校准鱼眼镜头的方法
Nov 26 Python
python scrapy简单模拟登录的代码分析
Jul 21 Python
解决pycharm下载库时出现Failed to install package的问题
Sep 04 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
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
2019/07/15 PHP
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
vue+axios实现登录拦截的实例代码
2017/05/22 Javascript
jquery实现下载图片功能
2019/07/18 jQuery
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python交互式图形编程实例(二)
2017/11/17 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
Python 经典算法100及解析(小结)
2019/09/13 Python
python tkinter基本属性详解
2019/09/16 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
澳大利亚儿童和婴儿产品在线商店:Lime Tree Kids
2017/10/05 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
static关键字的用法
2013/10/07 面试题
向领导表决心的话
2014/03/11 职场文书
工作分析计划书
2014/04/30 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
高一军训口号
2015/12/25 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
Nginx已编译的nginx-添加新模块
2021/04/01 Servers
Python实现信息轰炸工具(再也不怕说不过别人了)
2021/06/11 Python
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server
Go 内联优化让程序员爱不释手
2022/06/21 Golang