selenium PhantomJS Fiddler使用
1 通过Python调用浏览器解析页面,处理动态数据加载(AJAX、JavaScript)
selenium 可以执行浏览器的平台,并且可以执行浏览器的各种动作事件
PhantomJS 就是一个无界面headless的浏览器
Chrome 有界面的浏览器
Selenium + PhantomJS
Selenium + Chrome
导入webdriver
from selenium import webdriver
#创建浏览器对象
driver = webdriver.PhantomJS() # 无界面的 PhantomJS
driver = webdriver.Chrome() # 默认有界面的 chrome
发送浏览器的网页请求
driver.get(“http://www.baidu.com/”)
获取网页渲染后的源码
html = driver.page_source
1 发送请求(如何模拟浏览器的请求,发送给网站服务器,获取响应 urllib2 requests)
2 提取数据(从响应里提取数据re lxml bs4 jsonpath,可能会涉及js加密 js2py selenium+PhantomJS)
3 保存数据(json、csv、mongodb,数据去重)
4 提高并发量(多线程、协程)
5 反爬处理(请求报头、代理IP、访问频率、验证码)
2.通过抓包工具抓取网页数据包,也可以抓取移动端H5、APP里数据
Fiddler、Charles 本地代理服务器 127.0.0.1:8888
数据加密:
网页通过JavaScript,可以通过分析js代码进行破解;
移动端app通过客户端软件代码(java、oc、swift),可以通过反汇编逆向工程进行处理
Fiddler 是Windows平台
Fiddler设置
电脑浏览器抓包:
- 点开Options菜单,点击HTTPS,允许电脑抓取HTTPS通信包,并安装Fiddler信任证书
- 点开Options菜单,点击Connections,设置 允许远程计算机链接
- 重新启动Fiddler
- 打开浏览器,使用SwitchOmega 设置代理为 127.0.0.1:8888 即可访问HTTPs页面抓包
手机抓包:
- 手机和电脑必须在同一个网段下(表示可以通过同一个路由器链接)
- 手机设置 WiFi的代理为 电脑的IP代理,端口号 8888
- 访问 http://电脑的ip:8888 下载手机的证书
Charles设置:
电脑浏览器抓包:
- 安装后,替换安装目录下的 lib 下的 charles.jar 用于破解。
- 点开Proxy菜单,选择Proxy settings… 打开HTTP抓包,默认8888端口
- 点开Proxy菜单,选择SSL Proxing settings… 打开 https抓包,添加监听 .
- 点开Help菜单,选择SSL Proxying,安装Charles信任证书
- 打开浏览器,代理设置为 127.0.0.1:8888 即可访问HTTPs页面抓包
手机抓包:
- 手机和电脑必须在同一个网段下(表示可以通过同一个路由器链接)
- 手机设置 WiFi的代理为 电脑的IP代理,端口号 8888
- 手机浏览器访问:http://www.charlesproxy.com/getssl 安装证书即可。
Wireshark:
移动端抓包:
- 手机和电脑 必须在同一个网段下(WiFi)
- 电脑共享热点,让手机连接
- 在电脑上安装(Android、iOS模拟器)来实现数据抓包
网易MuMu、夜神、雷电
移动端配置:
第一步,安装Fiddler证书,访问PC端ip:8888 下载安装证书
第二步,通过WLAN 修改手机端的 WiFi 代理为 pc端 ip:8888
- 验证码处理,Tesseract OCR、打码平台
打码平台:
http://www.ruokuai.com/client/index?698490
http://www.yundama.com/
http://jiyan.c2567.com/docs/default.html
https://www.aliyun.com/ss/?k=验证码
selenium PhantomJS Fiddler使用相关推荐
- [Python爬虫] 之二十二:Selenium +phantomjs 利用 pyquery抓取界面网站数据
一.介绍 本例子用Selenium +phantomjs爬取界面(https://a.jiemian.com/index.php?m=search&a=index&type=news& ...
- [Python爬虫] 之三十:Selenium +phantomjs 利用 pyquery抓取栏目
一.介绍 本例子用Selenium +phantomjs爬取栏目(http://tv.cctv.com/lm/)的信息 二.网站信息 三.数据抓取 首先抓取所有要抓取网页链接,共39页,保存到数据库里 ...
- Selenium+PhantomJS使用时报错原因及解决方案
问题 今天在使用selenium+PhantomJS动态抓取网页时,出现如下报错信息: UserWarning: Selenium support for PhantomJS has been dep ...
- 使用selenium+phantomJS实现网页爬取
有些网站反爬虫技术设计的非常好,很难采用WebClient等技术进行网页信息爬取,这时可以考虑采用selenium+phantomJS模拟浏览器(其实是真实的浏览器)的方式进行信息爬取.之前一直使用的 ...
- 盘点selenium phantomJS使用的坑
转载自简书 说到python爬虫,刚开始主要用urllib库,虽然接口比较繁琐,但也能实现基本功能.等见识了requests库的威力后,便放弃urllib库,并且也不打算回去了.但对一些动态加载的网站 ...
- [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频
一.介绍 本例子用Selenium +phantomjs爬取今天头条视频(http://www.tvhome.com/news/)的信息,输入给定关键字抓取图片信息. 给定关键字:视频:融合:电视 二 ...
- [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
一.介绍 本例子用Selenium +phantomjs爬取电视之家(http://www.tvhome.com/news/)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓 ...
- Python+selenium+PhantomJS获取百度搜索结果真实链接地址
祝愿所有参加高考的孩子们都能超水平发挥,考出好成绩,考上理想的学校!也希望你们考上大学之后仍然保持高考前的学习劲头! ===========正文============= 问题描述:在爬取百度搜索结果 ...
- selenium+phantomjs 爬虫 获取中国移动,电信,联通通话记录
主要获取中国电信,中国移动,联通通话记录 提取征信维度,使用selenium+phantomjs完成对网站数据的爬取,由于phantomjs不符合 分布式爬取要求,所以自己动手重构了phantomjs ...
最新文章
- Mysql数据库按时间点恢复实战
- postman 发送到onenet,chinanet
- Android之运行PopupWindow提示Unable to add window -- token null is not valid; is your activity running?
- python安装失败无法访问_错误:由于环境错误而无法安装包错误:[WinError 5]访问被拒绝:...
- Mesos源码分析(9): Test Framework的启动
- 记一次mysql主从同步因断电产生的不能同步问题 1236 and 1032
- [Project Euler] 来做欧拉项目练习题吧: 题目005
- 解决Docker for window与VMware虚拟机同时安装,造成虚拟机网络不通以及无法启动问题...
- sql mysql 删除数据库_如何清除SQL数据库中的数据?
- 多媒体SCM格式介绍
- C语言读取文件所有内容
- 【竖排日语OCR识别】如何识别图片上竖排的日语 ?如何识别图片上横排的日语?如何将竖排日语转横排日语,下面说清楚方法
- ERP能力计划与排产
- 2020光学期刊一区二区影响因子发布(科睿唯安)
- minus oracle 顺序_Minus 在oracle 中的用法
- 微信注册验证成功之后不跳转_微信小号怎么申请(绑定了微信的手机号怎么注册新的微信)...
- Xcelsius调用Webservice实例
- mysql errno 1146_Mysql学习MySQL复制出错 Last_SQL_Errno:1146的解决方法
- python 删除pdf页面_删除PDF其中几页的方法
- 【React】React Js入门教程(一学就会)
热门文章
- mkv文件如何转为mp4?
- Visual Studio安装SVN过程及作用
- [mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException...
- matlab导数曲线怎样画,matlab三次样条曲线的绘制(spline和csape函数详解)
- 504服务器无响应,什么是504网关超时错误(以及如何解决)? | MOS86
- 代码块:在Java中,使用{}括起来的代码被称为代码块。
- mirosoft Edge出现闪退怎么办
- 搞个服务器安装黑群晖系统,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS...
- 网卡多队列、RSS、RPS、RFS
- 三星T7装Linux系统,Ubuntu已成为三星ARTIK 5/7的主力GNU/Linux系统