爬了不少网页,还没试过app,今天就来实战一下吧!本次目标是爬取掌上英雄联盟app的文章,需要备有Fiddler,MongoDB(可选),一个安装了掌上英雄联盟的手机。
苹果手机抓包配置
俗话说工欲善其事,必先利其器,在抓包之前我们需要完成相关的配置。首先我们需要在电脑上下载并安装好Fiddler,安装之后点Tools 中的Options菜单,按照下图设置HTTPS:
勾选忽略证书错误选项,并且修改Connections,选中允许远程连接
接下来是手机端的配置,最简单的一个做法是让手机和电脑处于同个网络中,打开手机连接的无线网进行配置,将电脑的ip地址填入服务器位置,端口输入和Fiddler一致的端口8888。
然后打开手机浏览器,在地址栏输入电脑的ip地址加上端口号,进行证书的安装。
分析并抓取文章
打开掌盟,并用Fiddler抓包,观察发现包含文章的连接就是下面选中的这个,我们继续滑动掌盟,不断刷新文章。
结果发现,这些参数依然不变,plat是平台,version和areaid这两个参数没有发现是什么作用,并且最重要的是所有文章的信息都包含在上图的链接之中。
在这个json中包含了所有文章的全部信息,再进入其中的article_url可以看到文章的内容。接下来,就交给我们的老朋友requests吧!
将所有文章的基本数据入库存储,接下来便可以用pdfkit这个第三方库,将url链接转换成pdf,下载到本地,以备随时查看。pdfkit的使用需要下载wkhtmltopdf安装包,并且安装到电脑上。
这里加入了一定的时延,以免无法及时转换成pdf而报错。
这些攻略要闻,更新改动就全部存储在本地啦~