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

电脑浏览器抓包

  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=验证码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值