利用Fiddler手机抓包对ONE·APP网页爬虫实现电影资讯微信Java开发

前言

好久没写博客了,打算把之前做的一个电影评分资讯推送的微信开发全程记录一下,适合对网络爬虫、微信开发感兴趣的童鞋。在教程开始之前,我想先引出两个问题(这次写博客假装很有条理的样子= =)

1. 为什么想要抓取ONE电影的数据?

因为我平时本身就喜欢去电影院看电影,所以关注到ONE·APP有电影栏目,而且评分信息一目了然,非常适合我这种人,该看哪一部你懂的~(PS:这是写博客当天截的图,下周末去看82分机器猫,嘿嘿)

ONE电影评分手机截图

当然了,豆瓣电影也有评分,但是感觉那里水军很多,所以数据参考价值不大吧。顺便普及一下,“一个”APP是由韩寒创立的,最初只有文学栏目,2016年初才进军电影行业(相关报道),目的就是让电影打分少一点套路,多一分真诚,用心良苦呀,所以我们就用收下韩寒这份好意吧!

2. 我需要提前准备什么东西?

  • 首先,你得有一台手机(你是不是傻?请忽略这条),如果16g苹果没内存可用安卓模拟器代替。。。(没有别的意思…)
  • 其次,你得有java网络爬虫相关知识,主要是httpclient的使用,解析JSON用的是效率较高的jackson。
  • 最后,你得有微信java开发经验,主要解决数据呈现问题,当然你也可以使用仅用的JAVA EE知识做一个网页来呈现数据。因为不能面面俱到,所以此教程可能不会过多讲解这一块内容,这里推荐慕课网视频教程,建议直奔重点看第五章,十分受用。

对了,先放个图,看下微信开发的功能最终效果,噔噔噔噔~↓

电影功能截图

还是像模像样的,前面bb了那么多,下面开始我们的教程吧!


思路

1. 抓取数据(Fidder抓包,手机wifi代理)

2. 分析数据(解析JSON/HTML,提取有用信息)

3. 微信开发(文本消息匹配、被动回复图文)

基本思路是对数据的抓取→分析→处理→呈现,下面以ONE·APP的电影数据为例,本教程会把重点放在前面两part。


实战

1. 抓取数据

前期准备

  1. 下载抓包工具Fiddler:大家到网上去下载就好了,我这里用的是V4.6

  2. 设置Fiddler规则(关键):点Tools->Fiddler Options->HTTPS,勾选Capture HTTPS CONNECTsDecrypt HTTPS traffic这两项,建议勾上ignore server certificate erros (unsafe)保证我们抓包时候不会狂弹窗而影响心情;切换到Connections选项卡,再勾选allow remote computers to connect这项,记住这里出现的Fiddler listens on port端口号是8888(当然这里可以自己改成别的,但是建议不要这样做),之后会用到它。
    Fiddler设置1
    Fiddler设置2
    设置完必须重启Fiddler

  3. 搭建网络环境:使电脑和手机在同一个局域网下,这个为之后的手机wifi代理做准备。

  4. 查看电脑内网IP:在命令行输入ipconfig查看内网IP,我这里查到是192.168.2.106,先记住,下面会用到。
    电脑内网IP

  5. 设置手机wifi代理(关键):不用手机可能有点不一样,我这里以我的安卓小锤子来做示范。设置->无线网络->已连接的网络详细->高级设置,开启手动HTTP代理,填写代理服务器主机名为电脑内网IP 192.168.2.106,以及代理服务器端口为Fiddler显示的8888。其他系统和型号的手机自己琢磨下吧~
    手机wifi代理设置

  6. 手机下载“一个”APP:在各大手机应用市场搜索一个ONE韩寒均可下载。

下面开始才是重点

  1. 手机打开“一个”APP,在抓包之前先清理Fiddler刚刚的抓取到的包,方便我们等下筛选。
    清除Fiddler所有的包

  2. 点开“电影”栏目,观察Fiddler的抓包情况。到这里你已经成功了一半了,host为wufazhuce.com正是“一个”的域名,而且url为/api/movie/list/0?(这很restful…),可以确定是我们想要的那个请求。
    (但是在实际抓包中,往往会有各种各样的无用信息掺杂在里面,这时候就需要我们去辨别哪些是我们想要的url)
    电影请求
    我们通过直接访问刚刚抓取到的url:http://v3.wufazhuce.com:8000/api/movie/list/0?,打开发现返回的是json格式的数据&#

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值