E企盈小程序营销工具技术服务商 热线:4006-838-530

怎么样抓取微信小程序

E企盈小程序直播系统

阅读文本大概需要 12 分钟。一 爬虫万能公式最近痴海接到一些新的需求,要抓取微信小程序上的内容。写过爬虫的同学都知道,无论什么爬虫大体的思路都是相的,都是要分析网络请求地址,模拟发送请求,然后解析返回的数据,最后保存相应的信息。这里就可以给大家总结一个爬虫万能公式:爬虫程序 = 网络请求 + 解析数据 + 保存数据所有的爬虫都离不开这三个核心点,有些复杂的爬虫无非是在每个部分添加些别的内容。比如在网络请求部分,你需要添加请求头,伪装下自己的请求,让它看起来像一个正常人发送的请求。还有些网站需要破解验证码等等。而在解析数据中你需要熟悉至少一种解析方式,比如 Xpath、正则、JQuery、BS4 等。保存数据就需要你选择保存到哪里是 Mysql 还是 MongoDB 等等,甚至你要需要写些去重的策略等等。每个部分细分开还有非常多的内容,但爬虫万变不离其宗,总的框架就是这三部分。细分的内容以后在慢慢写文章都教给大家。今天我们就通过上面核心公式,通过如何抓取微信小程序,来讲解手机平台如何进行抓包。二 微信小程序抓取现在随着移动互联网的崛起,很多产品只有手机端,不会再花过多的时间和精力去搭建网页端的平台。所以做爬虫也一定要懂得如何在手机端上进行数据抓取。手机端跟网页端的抓取大同小异,只不过手机端的请求路径,你是不能直观的看到。这里就需要借助一些代理软件来辅助分析手机端上的网络请求。2.1 常用代理软件手机上抓包原理其实很简单,就是在你手机上搭建一个代理,所有的请求都会走你搭建的代理,这样你就可以分析对应的请求。而最经常用的代理软件有两个:1 Charles、2 Fiddler。1 Charles官网:https://www.charlesproxy.com/适用平台:Windows、MacCharles 俗称的花瓶,是在 PC 端常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。 具体的使用教程可以看下面的链接,非常的详细的介绍了 Charles 各方面的功能。https://juejin.im/post/5b8350b96fb9a019d9246c4c2 Fiddler官网:https://www.telerik.com/fiddler适用平台:WindowsFiddler 是一个 http 调试代理,以代理服务器的方式,监听系统的 Http 网络数据流动, Fiddler 也可以让你检查所有的 http 通讯,设置断点,以及 Fiddle 所有的“进出”的数据。这两款软件我都有使用过,都大同小异。我个人推荐大家使用 Charles,一是它两个平台都可适用,二是它把请求结构化,看起来非常清晰。具体的使用教程可以看下面的链接http://www.hangge.com/blog/cache/detail_1697.html这里要提醒大家 2 个比较坑的点:1 确保你的手机是否和电脑处于同一个局域网2 确保你安装了相应的证书具体的设置方法在上面的链接都有讲到,如果你安装了相应的软件之后无法抓包,就在这两个地方检查下是否设置正确。手机端为分为 ios 和安卓端的,由于我手上没有 ios 手机,今天这篇文章也就不重点介绍,如果你想在 ios 手机上抓包推荐使用 Thor 这款软件。2.2 安卓 7.0 以上新特性Android 7.0 之后,系统默认不再信任用户自己安装的证书。也就是说如果你现在使用的安卓版本是 7.0 以上的,你自己安装的证书,系统默认不再信任的。而手机上的网络请求都是 https 加密过的,没有信任的证书,你就无非抓到包。而要解决这个问题有以下五种办法。1 降低你的安卓版本首先第一种办法就是降低你的安卓版本到 7.0 以下,那就不会用到新的特性。但这样的做法并不推荐。2 使用 HttpCanary 软件HttpCanary 是 Android 平台下功能最强大的抓包和注入工具,支持 HTTP、HTTPS、HTTP2 和 WebSocket 等多种协议。GitHub 地址:https://github.com/MegatronKing/HttpCanary下载地址:https://github.com/MegatronKing/HttpCanary/wiki/Downloads使用教程:https://github.com/MegatronKing/HttpCanary/tree/master/docs/v1/zh-CN这个软件在使用教程里,提供了安卓 7.0 之后的抓包解决方案。3  Xposed + JustTrustMeXposed 框架(Xposed framework)是一套开放源代码的、在 Android 高权限模式下运行的框架服务,可以在不修改 APK 文件的情况下修改程序的运行(修改系统),基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。JustTrustMe 是 Github 上的一个开源工程,他是一个 Xposed 模块,用来禁止SS L证书验证。以下是其简介。JustTrustMe:An xposed module that disables SSL certificate checking. This is useful for auditing an appplication which does certificate pinning.具体的教程可以看这里https://www.jianshu.com/p/310d930dd62fXposed 框架对 Android 7.0 及以上不太友好,容易导致变砖头机,所以使用此方法的建议配合模拟器使用。4 VirtualXposed上面介绍了 Xposed 框架,最麻烦在于必须 Root 设备,承担手机变砖和系统安全性方面的风险,对很多用户来说上手难度门槛较高。不过,随着黑科技般的 VirtualXposed 出现,大家终于可以免 Root 权限直接使用 Xposed 框架了。具体的使用可以看这篇文章:https://www.iplaysoft.com/virtualxposed.html安装来 VirtualXposed 之后,相当于给手机安装了一个虚拟环境,你在这个虚拟环境中安装需要抓取的 APP,之后配合 Charles 就可以进行抓包分析了。5  把 Charles 证书设置为系统证书前面说过安卓 7.0 之后第三方安装的证书,系统是不会给予信任的。那么我们反过来想,只要把第三方证书设置成系统证书就好。需要注意这个方法也需要 root 权限,但属于一劳永逸的做法。把普通证书安装到系统证书的方法可以看下面的链接https://github.com/XndroidDev/Xndroid/issues/9#issuecomment-350525543三 实战练习上面一共介绍了五种在安卓 7.0 之后抓取方式,每种方法都有自己的优缺点。大家尽量以易用的原则去选取,接下来我就使用 HttpCanary 这款软件来给大家实战抓取一个小程序。抓取目标:MOTI商城一款产品详细信息小程序搜索「MOTI商城」即可找到。接下来我们就用开头说到的爬虫核心公式来一步步的拆解:爬虫程序 = 网络请求 + 解析数据 + 保存数据1 分析小程序网络请求        首先根据上面的 HttpCanary 教程安装相应的软件,然后我们开始进行抓包分析。这是我们点击进入小程序首页看到的一些请求,我们在点击小程序里任意一个商品,在看看都有哪些新的请求。注意到这里多了一个 detail 的请求,我们点开详情具体查看。总揽页信息通过总揽页我们知道了数据的请求地址:https://motiapi.modubus.com/api/goods/detail这个请求还是一个 POST 的请求。请求页信息通过请求页信息我们知道了请求头的构造都有哪些:并且还知道请求的参数,我们在请求页点击底部的 Text 就可以看到。

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 怎么样抓取微信小程序
分享到: 更多 (0)
E企盈小程序直播营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏