最近这段时间,网页采集方面的工作做得比较多。用curl技术开发了一个微信文章聚合类产品,把抓取到的数据转换成json格式,并在android端调用json数据接口加以显示;基于weiphp做了一个掌上头条插件,也是用的网页采集技术;和一个创业团队一起在做一个高考志愿填报系统,所有的数据也是从别的地方抓取。总而言之,网页抓取与网页采集技术是一项非常实用的技能,他能让我们高效快速的获取我们开发产品所需要的一些基本数据。

网页抓取与网页采集过程中难免需要用到抓包技术,所谓抓包,就是我们在访问一个目标网站的时候,需要分析我们提交给浏览器的一些http请求以及提交给浏览器的一些数据,在知道请求是如何发起的以及post了哪些数据之后,我们才能针对目标网页写出相应的采集程序。特别是在模拟登陆一些需要用户进行登陆验证的网站时,抓包分析就变得很重要。

一些浏览器自带抓包分析工具或者有其可扩展的抓包插件,像火狐浏览器有firebug插件,IE浏览器有HttpWatch。每个抓包工具都有其独特的功能,这里就不一一介绍了,今天给大家介绍一个好用的抓包工具Fiddler。

可以查看只允许微信浏览器访问的页面 例如

一、下载地址:

链接:http://pan.baidu.com/s/1nunXD6D 密码:yoy9

二、基本介绍:

http://baike.baidu.com/link?url=bwkApJWJszBYm0M-wrzFXIRh9bLWWvEZT2kUXgq9TXkYDryVErL9fuDdmpsya4O4i5EqAHbt4jzREUhn9TaJiK

三、使用教程:

http://jingyan.baidu.com/article/5d6edee221f0b399ebdeec7f.html

四、补充介绍:

手机APP抓包:http://my.oschina.net/u/587105/blog/322952

现在我们来结合一个具体的例子来讲一下如何抓包分析手机APP的请求数据,并达到自己的需求。我这里给大家讲一个LOL盒子的抓包实例。

我们知道,LOL盒子没有网页版,或者说网页版的功能并不像手机APP一样数据整合的那么齐全。如果我们要做一个微信版的LOL盒子,让用户在微信端回复一些关键词就能查看一些基本信息,比如用户在微信中回复“英雄”就能查看LOL全部的英雄信息,包括出装、符文之类的。那么我们想在微信端实现这些功能,肯定需要数据库的支持,如果我们的数据从LOL官网抓取的话,免不了要写很多匹配规则,所以一个简单高效的方法是直接抓取LOL盒子已经整合了的数据。那么正题开始,我们开始抓LOL盒子集成的全部英雄的数据。

1、首先在手机下载LOL盒子,并进入首页(请忽略我这个战五渣的战斗力指数)

2、打开Fiddler并点Remove  all把抓包信息全部清除

3、在LOL盒子中点击英雄进入查看英雄页面

4、可以看到查看英雄页面有免费、我的英雄、全部三个选项

5、这时候我们可以看到Fiddler已经抓到我们需要的数据接口了

6、我们在其中一个数据接口上面点击右键,复制url地址并在浏览器中打开

7、就能看到我们需要的周免英雄的数据接口了,是json格式的

到此为止,抓包分析的整个流程大家一目了然了,得到了json接口之后,我们就能用curl技术把数据采集下来,并把json格式的数据转换成数组或者其他格式,然后就可以存到我们自己的数据库中了,当用户在微信中回复关键词时,我们就从数据库中取出相应的数据并回复给用户就行了。

Fiddler 网页采集抓包利器的更多相关文章

  1. Fiddler 网页采集抓包利器__手机app抓包

    用curl技术开发了一个微信文章聚合类产品,把抓取到的数据转换成json格式,并在android端调用json数据接口加以显示: 基于weiphp做了一个掌上头条插件,也是用的网页采集技术:和一个创业 ...

  2. iOS抓包利器Charles

    iOS抓包利器Charles http://wonderffee.github.io/blog/2013/07/13/best-packet-capture-tool-charles-in-ios/ ...

  3. Fiddler和app抓包

    1:请在“运行”,即下面这个地方输入certmgr.msc并回车,打开证书管理. 打开后,请点击操作--查找证书,如下所示: 然后输入“fiddler”查找所有相关证书,如下所示: 可以看到,我们找到 ...

  4. 通过Fiddler进行手机抓包

    通过Fiddler进行手机抓包 通过Fiddler抓包工具,可以抓取手机的网络通信,但前提是手机和电脑处于同一局域网内(WI-FI或热点),然后进行以下设置: 用Fiddler对Android应用进行 ...

  5. web手工项目04-测试报告的核心内容-HTTP请求和响应-fiddler工具进行抓包

    回顾 登录功能测试(需求分析(输入分析,处理分析,输出分析),数据构造,编写用例) 测试点设计思路--扩展(相关业务,特殊角度-分支,异常,逆向) 流程图元素与画法(开始/结束,路径,数据,判定,步骤 ...

  6. [转载]Fiddler 解析!抓包抓得好真的可以为所欲为 [一]

    说起抓包,很多人以为就是用个工具,简简单单地抓一下就可以了.昨天在面试一个安卓逆向,直接告诉我[抓包没有技术含量].在这里,我必须发一个教程,解析一下抓包神器——Fiddler.Fiddler仅仅是一 ...

  7. Fiddler对https抓包时,提示"HTTPS decryption is disabled."原因及破解

    Fiddler对https抓包时,提示"HTTPS decryption is disabled." 原因:没有启用 https 解密. 破解: ----------------- ...

  8. fiddler教程:抓包带锁的怎么办?HTTPS抓包介绍。

    点击上方↑↑↑蓝字[协议分析与还原]关注我们 " 介绍Fiddler的HTTPS抓包功能." 这里首先回答下标题中的疑问,fiddler抓包带锁的原因是HTTPS流量抓包功能开启, ...

  9. Fiddler代理手机抓包

    Fiddler代理手机抓包 0. 安装Fiddler 1. 安装HTTPS证书并允许远程连接 Tools - Options 点击OK后重启Fiddler. 确保手机与当前电脑在同一局域网. 然后在手 ...

随机推荐

  1. Codeforces 556A Case of the Zeros and Ones(消除01)

    Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u   Description Andr ...

  2. [转载]如何查看某个查询使用了多少TempDB空间

    http://www.cnblogs.com/CareySon/p/3910337.html 通过下面脚本可以查看某个查询实用的TempDB的空间. 第一步是查询出当下TempDB实用空间是多少, 第 ...

  3. perl 正则前导字符

    uat-prx02:/root# cat a1.pl my $str="123"; if ($str =~/(abc)*/){print "111111111\n&quo ...

  4. 【转】C#读取文件时的共享方式

    string sFileName = @"C:\Exchange.dat";System.IO.StreamReader file = new System.IO.StreamRe ...

  5. String的equals方法和==

    String类的对象是字符串常量,一切看起来改变了String对象的操作,其实只是改变了字符串引用变量所引用的字符串罢了. Java中的字符串存放在一个公共的存储池中,引用指向存储池中相应的位置,编译 ...

  6. WebMagic开源垂直爬虫介绍

    WebMagic项目代码分为核心和扩展两部分.核心部分(webmagic-core)是一个精简的.模块化的爬虫实现,而扩展部分则包括一些便利的.实用性的功能.WebMagic的架构设计参照了Scrap ...

  7. Hadoop2以来的历次升级(不含2.2.0及以下)

    2015年7月06:release 2.7.1(稳定)请参阅 Hadoop 2.7.1发布说明 对131个bug修复和列表 从先前版本2.7.0补丁. 请看看 2.7.0章节列表的增强功能启用 第一个 ...

  8. Java-装饰模式(转)

    装饰模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述装饰(Decorator)模式的: 装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关 ...

  9. jquery表单实时验证

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. springmvc实现REST中的GET、POST、PUT和DELETE

    spring mvc 支持REST风格的请求方法,GET.POST.PUT和DELETE四种请求方法分别代表了数据库CRUD中的select.insert.update.delete,下面演示一个简单 ...