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 random模块常用方法
Nov 03 Python
python生成随机mac地址的方法
Mar 16 Python
在Python中处理时间之clock()方法的使用
May 22 Python
Python实现将绝对URL替换成相对URL的方法
Jun 28 Python
python脚本设置系统时间的两种方法
Feb 21 Python
Python利用turtle库绘制彩虹代码示例
Dec 20 Python
python ddt实现数据驱动
Mar 14 Python
python集合删除多种方法详解
Feb 10 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
pycharm设置当前工作目录的操作(working directory)
Feb 14 Python
python使用pyecharts库画地图数据可视化的实现
Mar 25 Python
opencv 图像加法与图像融合的实现代码
Jul 08 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
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
paypal即时到账php实现代码
2010/11/28 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP入门之常量简介和系统常量
2014/05/12 PHP
php+ajax无刷新上传图片实例代码
2015/11/17 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
Python如何实现MySQL实例初始化详解
2017/11/06 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
基于python实现聊天室程序
2018/07/27 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
Keras实现将两个模型连接到一起
2020/05/23 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
HTML5 Video/Audio播放本地文件示例介绍
2013/11/18 HTML / CSS
英国标志性奢侈品牌:Burberry
2016/07/28 全球购物
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
《十六年前的回忆》教学反思
2014/02/14 职场文书
董事长助理工作职责
2014/06/08 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
2015年预防青少年违法犯罪工作总结
2015/05/22 职场文书
运动会200米广播稿
2015/08/19 职场文书
JavaScript实现两个数组的交集
2022/03/25 Javascript
SQL Server内存机制浅探
2022/04/06 SQL Server