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设置

电脑浏览器抓包

  1. 点开Options菜单,点击HTTPS,允许电脑抓取HTTPS通信包,并安装Fiddler信任证书
  2. 点开Options菜单,点击Connections,设置 允许远程计算机链接
  3. 重新启动Fiddler
  4. 打开浏览器,使用SwitchOmega 设置代理为 127.0.0.1:8888 即可访问HTTPs页面抓包

手机抓包

  1. 手机和电脑必须在同一个网段下(表示可以通过同一个路由器链接)
  2. 手机设置 WiFi的代理为 电脑的IP代理,端口号 8888
  3. 访问 http://电脑的ip:8888 下载手机的证书

Charles设置
电脑浏览器抓包

  1. 安装后,替换安装目录下的 lib 下的 charles.jar 用于破解。
  2. 点开Proxy菜单,选择Proxy settings… 打开HTTP抓包,默认8888端口
  3. 点开Proxy菜单,选择SSL Proxing settings… 打开 https抓包,添加监听 .
  4. 点开Help菜单,选择SSL Proxying,安装Charles信任证书
  5. 打开浏览器,代理设置为 127.0.0.1:8888 即可访问HTTPs页面抓包

手机抓包

  1. 手机和电脑必须在同一个网段下(表示可以通过同一个路由器链接)
  2. 手机设置 WiFi的代理为 电脑的IP代理,端口号 8888
  3. 手机浏览器访问:http://www.charlesproxy.com/getssl 安装证书即可。

Wireshark:

移动端抓包

  1. 手机和电脑 必须在同一个网段下(WiFi)
  2. 电脑共享热点,让手机连接
  3. 在电脑上安装(Android、iOS模拟器)来实现数据抓包
    网易MuMu、夜神、雷电

移动端配置
第一步,安装Fiddler证书,访问PC端ip:8888 下载安装证书
第二步,通过WLAN 修改手机端的 WiFi 代理为 pc端 ip:8888

  1. 验证码处理,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使用相关推荐

  1. [Python爬虫] 之二十二:Selenium +phantomjs 利用 pyquery抓取界面网站数据

    一.介绍 本例子用Selenium +phantomjs爬取界面(https://a.jiemian.com/index.php?m=search&a=index&type=news& ...

  2. [Python爬虫] 之三十:Selenium +phantomjs 利用 pyquery抓取栏目

    一.介绍 本例子用Selenium +phantomjs爬取栏目(http://tv.cctv.com/lm/)的信息 二.网站信息 三.数据抓取 首先抓取所有要抓取网页链接,共39页,保存到数据库里 ...

  3. Selenium+PhantomJS使用时报错原因及解决方案

    问题 今天在使用selenium+PhantomJS动态抓取网页时,出现如下报错信息: UserWarning: Selenium support for PhantomJS has been dep ...

  4. 使用selenium+phantomJS实现网页爬取

    有些网站反爬虫技术设计的非常好,很难采用WebClient等技术进行网页信息爬取,这时可以考虑采用selenium+phantomJS模拟浏览器(其实是真实的浏览器)的方式进行信息爬取.之前一直使用的 ...

  5. 盘点selenium phantomJS使用的坑

    转载自简书 说到python爬虫,刚开始主要用urllib库,虽然接口比较繁琐,但也能实现基本功能.等见识了requests库的威力后,便放弃urllib库,并且也不打算回去了.但对一些动态加载的网站 ...

  6. [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频

    一.介绍 本例子用Selenium +phantomjs爬取今天头条视频(http://www.tvhome.com/news/)的信息,输入给定关键字抓取图片信息. 给定关键字:视频:融合:电视 二 ...

  7. [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据

    一.介绍 本例子用Selenium +phantomjs爬取电视之家(http://www.tvhome.com/news/)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓 ...

  8. Python+selenium+PhantomJS获取百度搜索结果真实链接地址

    祝愿所有参加高考的孩子们都能超水平发挥,考出好成绩,考上理想的学校!也希望你们考上大学之后仍然保持高考前的学习劲头! ===========正文============= 问题描述:在爬取百度搜索结果 ...

  9. selenium+phantomjs 爬虫 获取中国移动,电信,联通通话记录

    主要获取中国电信,中国移动,联通通话记录 提取征信维度,使用selenium+phantomjs完成对网站数据的爬取,由于phantomjs不符合 分布式爬取要求,所以自己动手重构了phantomjs ...

最新文章

  1. Mysql数据库按时间点恢复实战
  2. postman 发送到onenet,chinanet
  3. Android之运行PopupWindow提示Unable to add window -- token null is not valid; is your activity running?
  4. python安装失败无法访问_错误:由于环境错误而无法安装包错误:[WinError 5]访问被拒绝:...
  5. Mesos源码分析(9): Test Framework的启动
  6. 记一次mysql主从同步因断电产生的不能同步问题 1236 and 1032
  7. [Project Euler] 来做欧拉项目练习题吧: 题目005
  8. 解决Docker for window与VMware虚拟机同时安装,造成虚拟机网络不通以及无法启动问题...
  9. sql mysql 删除数据库_如何清除SQL数据库中的数据?
  10. 多媒体SCM格式介绍
  11. C语言读取文件所有内容
  12. 【竖排日语OCR识别】如何识别图片上竖排的日语 ?如何识别图片上横排的日语?如何将竖排日语转横排日语,下面说清楚方法
  13. ERP能力计划与排产
  14. 2020光学期刊一区二区影响因子发布(科睿唯安)
  15. minus oracle 顺序_Minus 在oracle 中的用法
  16. 微信注册验证成功之后不跳转_微信小号怎么申请(绑定了微信的手机号怎么注册新的微信)...
  17. Xcelsius调用Webservice实例
  18. mysql errno 1146_Mysql学习MySQL复制出错 Last_SQL_Errno:1146的解决方法
  19. python 删除pdf页面_删除PDF其中几页的方法
  20. 【React】React Js入门教程(一学就会)

热门文章

  1. mkv文件如何转为mp4?
  2. Visual Studio安装SVN过程及作用
  3. [mybatis] sql语句无错误,但是执行多条sql语句时,抛出java.sql.SQLSyntaxErrorException...
  4. matlab导数曲线怎样画,matlab三次样条曲线的绘制(spline和csape函数详解)
  5. 504服务器无响应,什么是504网关超时错误(以及如何解决)? | MOS86
  6. 代码块:在Java中,使用{}括起来的代码被称为代码块。
  7. mirosoft Edge出现闪退怎么办
  8. 搞个服务器安装黑群晖系统,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS...
  9. 网卡多队列、RSS、RPS、RFS
  10. 三星T7装Linux系统,Ubuntu已成为三星ARTIK 5/7的主力GNU/Linux系统