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迭代器的使用方法实例
Nov 21 Python
python django集成cas验证系统
Jul 14 Python
Python存取XML的常见方法实例分析
Mar 21 Python
实例分析python3实现并发访问水平切分表
Sep 29 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
在Python中实现函数重载的示例代码
Dec 12 Python
python关闭占用端口方式
Dec 17 Python
浅谈python累加求和+奇偶数求和_break_continue
Feb 25 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
python 获取字典键值对的实现
Nov 12 Python
python 元组和列表的区别
Dec 30 Python
使用Python+Appuim 清理微信的方法
Jan 26 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 memcache扩展的三种安装方法
2009/04/26 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
自定义session存储机制避免会话保持问题
2014/10/08 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
初步了解javascript面向对象
2015/11/09 Javascript
bootstrap table复杂操作代码
2016/11/01 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决
2020/09/28 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
python版本坑:md5例子(python2与python3中md5区别)
2017/06/20 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
亚马逊西班牙购物网站:amazon西班牙
2017/03/06 全球购物
Artist Guitars新西兰:乐器在线商店
2017/09/17 全球购物
英国最大的笔记本电脑直销专家:Laptops Direct
2019/07/20 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
计划生育汇报材料
2014/12/26 职场文书
民主评议党员个人总结
2015/02/13 职场文书
质量负责人岗位职责
2015/02/15 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
三年级作文之小小梦想
2019/12/06 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
Nginx 匹配方式
2022/05/15 Servers
Java界面编程实现界面跳转
2022/06/16 Java/Android
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技