python爬虫之selenium,谷歌无头浏览器
python爬虫之selenium和PhantomJS
主要的内容
lenium
hantomjs
无头浏览器
的懒加载
一 什么是selenium?
介绍
它是python中的一个第三方库,对外提供的接口可以操作浏览器,然后让浏览器完成自动化的操作。
安装
pip install selenium
如何使用selenium 进行操作呢?
1 获取某一款浏览器的驱动程序(这里我以谷歌浏览器为例)
谷歌浏览器的驱动下载地址:
http://chromedriver.storage.googleapis.com/index.html
2 如何选择版本号下载,这里下载的驱动程序必须和浏览器的版本统一,可以通过这个网址中提供的版本映射表进行对应
先查看自己谷歌浏览器中的版本信息,然后通过映射表进行相应的下载即可
http://blog.csdn.net/huilan_same/article/details/51896672
需求 使用selenium打开百度
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from selenium import webdriver
from time import sleep
#驱动路径 记得前面加r 防止字符转义
#!!!注意这里必须把驱动程序中的路径写完整,后面必须加上这个chromedriver.exe 否则会报错 执行不成功
driver = webdriver.Chrome('C:\pacong_data\day3\chromedriver.exe')
#用driver打开百度页面 后面的地址是百度的地址
driver.get('http://www.baidu.com')
# 查找页面的“设置”选项,发送一个你要搜索的值,并进行点击
driver.find_element_by_id('kw').send_keys('人民币')
sleep(2)
#并进行点击
driver.find_element_by_id('su').click()
sleep(2)
#退出驱动程序
driver.quit()#使用下面的方法,查找指定的元素进行操作即可find_element_by_id 根据id找节点find_elements_by_name 根据name找find_elements_by_xpath 根据xpath查找find_elements_by_tag_name 根据标签名找find_elements_by_class_name 根据class名字查找
二 phantomjs
PhantomJS是一款无界面的浏览器,其操作与上述的操作基本上是一致的,由于无界面,为了我们能够清楚的看到她的自动化操作流程,它为用户提供了一个截屏的功能,使用save_screenshot函数实现。
phantomjs实现无界面的操作
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
from selenium import webdriver
import time#PhantomJS是一个无头界面的浏览器
#!!!!注意这里的路径是PhantomJS存放的路径
browser = webdriver.PhantomJS(r'C:\pacong_data\day3\phantomjs-2.1.1-windows\bin\phantomjs.exe')url ='http://www.baidu.com/'
browser.get(url)
time.sleep(3)#进入百度界面 然后截屏
browser.save_screenshot(r'phantomjs\baidu.png')bd_input = browser.find_element_by_id('kw').send_keys('小猪配齐')
#在此截屏
browser.save_screenshot(r'phantomjs\xiaozhu.png')
time.sleep(3)bd_sous = browser.find_element_by_id('su').click()
在此截屏
browser.save_screenshot(r'phantomjs\sous.png')
time.sleep(3)browser.quit()
谷歌无头浏览器(是一款无界面的浏览器)
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options#这个是一个用来控制chrome以无界面模式打开的浏览器
#创建一个参数对象,用来控制chrome以无界面的方式打开
chrome_options = Options()
#后面的两个是固定写法 必须这么写
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')#驱动路径 谷歌的驱动存放路径
path = r'C:\pacong_data\day3\chromedriver.exe'#创建浏览器对象browser = webdriver.Chrome(executable_path=path,chrome_options=chrome_options)url ='http://www.baidu.com/'browser.get(url)
time.sleep(3)
browser.save_screenshot('baid.png')browser.quit()
python爬虫之selenium,谷歌无头浏览器相关推荐
- Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息
Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息 基础: Python 爬虫 之 Selenium.webdriver 的安装,以及模拟打开操作 ...
- Python爬虫:Selenium模拟Chrome浏览器爬取淘宝商品信息
对于采用异步加载技术的网页,有时候想通过逆向工程的方式来设计爬虫进行爬取会比较困难,因此,要想通过python获取异步加载数据往往可以使用Selenium模拟浏览器的方式来获取. Selenium是一 ...
- 从入门到入土:Python爬虫学习|Selenium自动化模块学习|简单入门|轻松上手|自动操作浏览器进行处理|chrome|PART01
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...
- python 模拟浏览器selenium_浅谈python爬虫使用Selenium模拟浏览器行为
前几天有位微信读者问我一个爬虫的问题,就是在爬去百度贴吧首页的热门动态下面的图片的时候,爬取的图片总是爬取不完整,比首页看到的少.原因他也大概分析了下,就是后面的图片是动态加载的.他的问题就是这部分动 ...
- [Python爬虫]使用Selenium操作浏览器订购火车票
这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗 ...
- Python爬虫之selenium库使用详解
Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...
- python抓取文献关键信息,python爬虫——使用selenium爬取知网文献相关信息
python爬虫--使用selenium爬取知网文献相关信息 写在前面: 本文章限于交流讨论,请不要使用文章的代码去攻击别人的服务器 如侵权联系作者删除 文中的错误已经修改过来了,谢谢各位爬友指出错误 ...
- Python爬虫之selenium高级功能
Python爬虫之selenium高级功能 原文地址 表单操作 元素拖拽 页面切换 弹窗处理 表单操作 表单里面会有文本框.密码框.下拉框.登陆框等. 这些涉及与页面的交互,比如输入.删除.点击等. ...
- python爬虫——使用selenium爬取微博数据(一)
python爬虫--使用selenium爬取微博数据(二) 写在前面 之前因为在组里做和nlp相关的项目,需要自己构建数据集,采用selenium爬取了几十万条微博数据,学习了很多,想在这里分享一下如 ...
最新文章
- 密度聚类OPTICS算法
- c语言程序头文件作用,C语言头文件
- 开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门
- UNITY2018.3 在editor下运行时new memoryprofiler显示 shader占用内存很大的问题在安卓上并没有看到...
- 小程序picker标题_微信小程序-自定义picker选择器
- 手机只能签荣耀!最忠诚代言人胡歌喊你去天猫超品日
- AM335 嵌入式 linux,am335x开发板建立嵌入式 Linux NFS 开发环境
- 【Java】PMD规则学习(1) --字符串比较
- [工具类]将时间转换为unix时间戳格式
- 冰河木马使用(纯属学习)
- Tabular Editor学习笔记_1
- 计算机图书馆管理系统论文模板,基于Java的图书馆管理系统计算机科学与技术毕业设计(论文)...
- 企业CIS 系统的收集方法分析
- 日记侠:你的文章为什么阅读量会那么高?
- R语言之 as.formula()
- 基于IAAS和SAAS的运维自动化-张克琛
- java rhino 运行 js_深入浅出Rhino:Java与JS互操作
- 杭电多校联赛2017年总结
- 麒麟座IIC-STM32F103RET6(1)-完成基础LED
- PHP 日本商标查询,文字商标查询是否侵权