商务服务
11.3 mitmdump 爬取 “得到” App 电子书信息
2024-12-16 09:49

“得到” App 是罗辑思维出品的一款碎片时间学习的 App,其官方网站为 https://www.igetget.com,App 内有很多学习资源。不过 “得到” App 没有对应的网页版,所以信息必须要通过 App 才可以获取。这次我们通过抓取其 App 来练习 mitmdump 的用法。

我们的爬取目标是 App 内电子书版块的电子书信息,并将信息保存到 MongoDB,如图 11-30 所示。

我们要把图书的名称、简介、封面、价格爬取下来,不过这次爬取的侧重点还是了解 mitmdump 工具的用法,所以暂不涉及自动化爬取,App 的操作还是手动进行。mitmdump 负责捕捉响应并将数据提取保存。

请确保已经正确安装好了 mitmproxy 和 mitmdump,手机和 PC 处于同一个局域网下,同时配置好了 mitmproxy 的 CA 证书,安装好 MongoDB 并运行其服务,安装 PyMongo 库,具体的配置可以参考第 1 章的说明。

首先探寻一下当前页面的 URL 和返回内容,我们编写一个脚本如下所示:


这里只输出了请求的 URL 和响应的 Body 内容,也就是请求链接和响应内容这两个最关键的部分。脚本保存名称为 script.py。

接下来运行 mitmdump,命令如下所示:


打开 “得到” App 的电子书页面,便可以看到 PC 端控制台有相应输出。接着滑动页面加载更多电子书,控制台新出现的输出内容就是 App 发出的新的加载请求,包含了下一页的电子书内容。控制台输出结果示例如图 11-31 所示。

图 11-31 控制台输出

可以看到 URL 为 https://dedao.igetget.com/v3/discover/bookList 的接口,其后面还加了一个 sign 参数。通过 URL 的名称,可以确定这就是获取电子书列表的接口。在 URL 的下方输出的是响应内容,是一个 JSON 格式的字符串,我们将它格式化,如图 11-32 所示。

图 11-32 格式化结果

格式化后的内容包含一个 c 字段、一个 list 字段,list 的每个元素都包含价格、标题、描述等内容。第一个返回结果是电子书《情人》,而此时 App 的内容也是这本电子书,描述的内容和价格也是完全匹配的,App 页面如图 11-33 所示。

图 11-33 APP 页面

这就说明当前接口就是获取电子书信息的接口,我们只需要从这个接口来获取内容就好了。然后解析返回结果,将结果保存到数据库。

接下来我们需要对接口做过滤限制,抓取如上分析的接口,再提取结果中的对应字段。

这里,我们修改脚本如下所示:


重新滑动电子书页面,在 PC 端控制台观察输出,如图 11-34 所示。

图 11-34 控制台输出

现在输出了图书的全部信息,一本图书信息对应一条 JSON 格式的数据。

接下来我们需要提取信息,再把信息保存到数据库中。方便起见,我们选择 MongoDB 数据库。

脚本还可以增加提取信息和保存信息的部分,修改代码如下所示:


重新滑动页面,控制台便会输出信息,如图 11-35 所示。

图 11-35 控制台输出

现在输出的每一条内容都是经过提取之后的内容,包含了电子书的标题、封面、描述、价格信息。

最开始我们声明了 MongoDB 的数据库连接,提取出信息之后调用该对象的 insert() 方法将数据插入到数据库即可。

滑动几页,发现所有图书信息都被保存到 MongoDB 中,如图 11-36 所示。

目前为止,我们利用一个非常简单的脚本把 “得到” App 的电子书信息保存下来。

本节的代码地址是:https://github.com/Python3WebSpider/IGetGet。

    以上就是本篇文章【11.3 mitmdump 爬取 “得到” App 电子书信息】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/news/30314.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   
最新文章
知欢xda智能手机网「知欢」
知欢是很受欢迎的社交app了,这里没有那么多烦人的广告,采用了全新的地图交友模式,让你可以认识来自不同地区的不同朋友,你可
淦,今天浅谈下手机的主板布局!手机主板「淦,今天浅谈下手机的主板布局!」
三段式是什么鬼?iPhone的三段式很高贵?我们今天就谈谈手机的主板布局吧!建议阅读时间:10min放眼全世界厂商,手机品牌多到触
如何解决OPPO手机电量不准确的问题?oppo手机怎么设置呼叫转移「如何解决OPPO手机电量不准确的问题?」
如何解决OPPO手机电量不准确的问题?随着科技的不断进步,智能手机已经成为我们生活中必不可少的一部分。然而,有时候我们可能会
苹果手机强制关机重启的全攻略:让你的设备恢复活力苹果手机如何强制重启「苹果手机强制关机重启的全攻略:让你的设备恢复活力」
在我们日常使用苹果手机的过程中,难免会遇到一些技术问题,如手机卡顿、应用崩溃或设备无响应等。这时,强制关机重启往往是解决
许多观众追捧的动漫电影免费高清完整版,值得一看!神马电影手机「许多观众追捧的动漫电影免费高清完整版,值得一看!」
在琪琪网,观众能够轻松获取到最新一季的电视剧,涵盖了各类题材。无论你是喜爱青春爱情、悬疑推理,还是古装剧等,都能在这里找
ARK: Survival Evolved(方舟生存进化2.0.12最新版)方舟手机版「ARK: Survival Evolved(方舟生存进化2.0.12最新版)」
方舟生存进化2.0.12最新版是手机上的中文版本,拥有全新的玩法和动植物。大家期待已久的地牢系统全面开放,不断的捕猎和驯服恐龙
真我手机搬家安卓版手机搬家下载「真我手机搬家安卓版」
真我手机搬家安卓版是一款专为android用户设计的手机数据迁移工具,由广东欢太科技有限公司开发。这款软件以其高效、安全、便捷
走路计步器怎么开启手机自动计步器「走路计步器怎么开启」
在现代健康生活的追求中,走路计步器成为了许多人日常监测运动量的得力助手。无论是智能手表、手机应用还是专门的计步器设备,都
汽车手机无线充电WPC手机无线充电原理「汽车手机无线充电WPC」
汽车手机无线充电WPC        各大品牌手机支持无线充电,带动了汽车手机无线充电市场的爆发,目前国内汽车品牌东风日产、吉
新零售模式拥抱线下手机行业零售店手机营销「新零售模式拥抱线下手机行业零售店」
  自新零售模式风靡各行,转型的品牌已经数不胜数,目前手机零售的形式主要有手机连锁店、运营商营业厅、大卖场、零售店、校园