【基础】【Python网络爬虫】【12.App抓包】reqable 安装与配置(附大量案例代码)(建议收藏)

App抓包

1. App爬虫原理

Application(以下称App)主要指安装在智能手机上的应用程序。APP 运行在相应的操作系统上,如苹果公司的 iOS 系统或谷歌公司的 Android 系统。

App 和网站都是 Web 应用,它们与服务器通信时使用的协议是相同的。

与网站不同的是,App 的网络传输和数据收发相对隐蔽,用户既无法直接查看客户端发出的请求信息和服务器端返回的响应内容,也无法直接查看 App 的代码。

为了能像使用浏览器开发者工具一样对APP数据进行抓包,就必须先要一个能够对app数据进行抓取的开发者工具。
在这里插入图片描述

2. reqable 的安装与配置

reqable是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一 。它能够记录客户端和服务器之间的所有 请求,可以针对特定的请求,分析请求数据、设置断点、调试web应用、修改请求的数据,甚至可以修改服务器返回的数据,功能非常强大,是web调试的利器。

看到这么多的应用,是不是就迫不及待的想要开始你的抓包之旅呢,不要急,俗话说的好:工欲善其事,必先利其器,我们先来安装reqable吧。

官网下载地址:https://reqable.com/

在这里插入图片描述

reqable 安装教程

安装教程如下:
双击安装包,如下所示,选择想要存放的目录,如果不需要修改,使用默认的即可,然后点击Next
在这里插入图片描述
会出现以下界面,继续点击 Next
在这里插入图片描述
点击Install,等待几秒即可安装
在这里插入图片描述
安装后双击运行,如下所示到这里我们就初步安装成功了
在这里插入图片描述

reqable 的配置

如果想要对手机上的app进行抓包怎么办呢,那么你还需要进行以下操作:

首先你的reqable所在的电脑和手机必须处在同一个局域网内(即连着同一个路由器)。
其次需要修改reqable监听的ip和端口号,如下所示:
终端 ipconfig 查看IP地址
在这里插入图片描述

  • 这个ip和端口号就是手机app设置的代理,后续在手机端我们会设置

最后就是需要配置证书,没有证书就会导致手机没网络。配置证书在本教程中需要配置到模拟器,后续在配置模拟器的再详细介绍。证书配置的教程在reqable中也有教程,如下所示:
在这里插入图片描述

3. 模拟器的安装与配置

为了能像使用浏览器开发者工具一样对APP数据进行抓包,就必须要一个能运行APP的环境。目前主流的是使用模拟器进行抓包,原因有以下几点:

  • Android8.0 以上安卓系统有些数据抓取不到
  • 虚拟机环境配置相对简单,容易root之后获取更高的权限

当然也可以选择使用真机进行调试。但是实际采用真机会有很多不必要的麻烦,必须重做系统、获取root权限多多少少会影响到正常的使用,如果专门购买一个真机专门用于app调试,也免不了要多踩很多坑(国内的厂商都有自己的优化,并且手机型号、系统版本等等都会影响到调试)。

夜神模拟器的安装

官网下载地址:https://www.yeshen.com/
在这里插入图片描述
双击安装包,选择安装路径,点击安装即可:
在这里插入图片描述

夜神模拟器的配置

配置代理

工具中找到设置,在设置页面下拉找到WLAN点击
在这里插入图片描述
长按WiredSSID,选择修改网络
在这里插入图片描述
点击高级选项下拉框
在这里插入图片描述
代理模式选择手动,填写代理服务器主机名代理服务器端口,点击保存
在这里插入图片描述

注意:reqable中显示监听的ip和端口是什么,那么在这里就填写什么

配置证书

reqable中,找到证书安装中的Android,复制证书下载地址
在这里插入图片描述
在这里插入图片描述
将复制的证书地址,在模拟器中的浏览器打开下载证书并且安装

  • 打开浏览器会提示证书安全警告,大家可以点击继续,直到警告提示框消失为止

在这里插入图片描述
在地址导航栏粘贴之前复制过来的证书下载地址 : http://reqable.proxy/ssl
在这里插入图片描述
拖动导航栏,点击下载好的证书安装
在这里插入图片描述
在这里插入图片描述
证书命名,任意名字都行,比如咱们这里取名 reqable
在这里插入图片描述
设置锁屏密码
在这里插入图片描述
在这里插入图片描述
设置锁屏通知,随便选,设置好后即可配置好证书
在这里插入图片描述

4. 内联调试及注意事项

软件启动顺

因为在模拟器中配置了代理服务器主机名代理服务器端口,对应的就是reqable监听的ip和端口,所有的模拟器网关都会走这里。因此当我们单独启动模拟器的时候是没有网络的。

所以每次软件的启动的顺序如下,这样启动模拟器才会有网络:

  • 先打开reqable
  • 再打开夜神模拟器

开启抓包功

如果reqable需要抓取模拟器的请求,需要在软件界面启动抓包功能,如下所示:
在这里插入图片描述
但是如果直接这样启动会抓取到很多系统代理,我们不需要分析这类系统代理请求,可以关闭此功能,如下所示:
在这里插入图片描述

reqable面板功

完整的面板功能介绍请参考官方文档:http://reqable.com/docs/overview

列表部件功能

在这里插入图片描述

列表数据

选中一个列表项,双击可以打开详情:
在这里插入图片描述

快捷操作栏

在这里插入图片描述

夜神模拟器设置

在这里插入图片描述

注意事项

系统浏览器会显示证书安全警告

证书在模拟器配置好以后在系统浏览器请求页面任然会提示证书安全警告,此现象仅出现在系统浏览器应用中,可以安装其他浏览器App,那么就不会有此类警告弹出。
在这里插入图片描述

安装App应用

系统应用无法安装App应用,如需安装可以在豌豆荚下载App应用安装包

豌豆荚官网地址:https://www.wandoujia.com/
在这里插入图片描述
选择普通下载
在这里插入图片描述

下载的文件尾缀是apk,此格式也是安卓应用安装包格式

将下载的apk安装包拖入到模拟器即可安装应用
在这里插入图片描述
在这里插入图片描述

案例练习
import csv
import requests

url = 'http://mapi7.dangdang.com/index.php?page_version=new2&access-token=&time_code=38a2af8629a8657119656d2e6a4ec9cc&img_size=e&client_version=10.12.4&pageSize=10&union_id=537-100998&timestamp=1689771977&province_id=111&permanent_id=20230719210103107521432505121491489&a=all-search&global_province_id=111&page_action=search&c=search&sort_type=default_0&keyword=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C&udid=1ac073189a158030f2c050f1bcf23f27&user_client=android&page=1'
# url = 'http://mapi7.dangdang.com/index.php?passback=c5e4133e68646b00c9dfb764fe0100009e44c800c9dfb764&page_version=new2&access-token=&time_code=ef9523739c8dd3da26e8c9faa25a6ed8&img_size=e&client_version=10.12.4&pageSize=10&union_id=537-100998&timestamp=1689772443&province_id=111&permanent_id=20230719210103107521432505121491489&a=all-search&global_province_id=111&page_action=search&isKeepTrace=1&c=search&sort_type=default_0&keyword=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C&udid=1ac073189a158030f2c050f1bcf23f27&user_client=android&page=2'
headers = {
    'Content-type': 'application/json',
    'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 7.1.2; SM-G988N Build/NRD90M)',
    'Host': 'mapi7.dangdang.com',
    'Connection': 'Keep-Alive',
    'Accept-Encoding': 'gzip',
}

response = requests.get(url=url, headers=headers)
json_data = response.json()
# print(json_data)

# 数据提取
data_list = json_data['data']['product']

for data in data_list:
    productName = data.get('productName')  # 书名
    """数据包中包含了 '为您推荐' 和 '您是不是想找' 类目的数据, 可以通过判断逻辑过滤掉"""
    if not productName:  # 如果productName没数据就跳过这次循环
        print(None)
        continue

    author = data.get('author')  # 作者
    price = data.get('price')  # 价格
    commentCount = data.get('commentCount')  # 评价数量
    goodCommentRate = data.get('goodCommentRate')  # 好评率
    print(productName, author, price, commentCount, goodCommentRate, sep=' | ')
    with open('当当.csv', mode='a', encoding='utf-8', newline='') as f:
        csv_write = csv.writer(f)
        csv_write.writerow([productName, author, price, commentCount, goodCommentRate])

"""
说明:
    1. 模拟器安装app有的会检测应用环境- root -其他环境
    2. app请求的数据会被加密  js加密  安卓加密 --> 安卓逆向
        java 汇编语言(c++)  算法<app会加壳>  各种逆向工具的使用
        开发是正向
    3. 有的app会检测证书, 安卓逆向
    
    wx, 代理走的自定义代理协议, 逆向wx
"""
  • 34
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
解锁网络数据的宝藏:Python爬虫工具与教程集合 一、探索网络信息的无限宝藏 在互联网的海洋中,蕴藏着海量的有价值信息。如何合法、高效地获取这些信息?Python爬虫工具与教程为您揭开这一神秘面纱。通过这些资源,您可以轻松地爬取网站信息,提取所需内容,为各种应用场景提供强大的数据支持。 二、资源亮点 工具齐全:提供一系列功能强大的Python爬虫工具,满足您不同场景下的需求。 教程详尽:配套的Python爬虫教程,从基础到进阶,让您逐步掌握爬虫的核心技术。 合法合规:严格遵守法律法规和网站使用协议,确保采集行为合法,尊重网站权益。 实战项目:结合实际案例,让您在实践中掌握Python爬虫的运用,真正做到学以致用。 三、适用人群 无论您是数据分析师、网络开发者还是对Python爬虫感兴趣的爱好者,这些资源都将为您的学习和实践提供有力的支持。 四、使用建议 按需选择工具与教程:根据实际需求选择合适的工具和教程,确保学习与实践的有效性。 遵守法律法规与协议:在使用这些资源进行爬取活动时,务必遵守相关法律法规和网站的使用协议。 持续学习与更新:随着网络技术的不断进步,Python爬虫技术也在不断发展。建议您持续关注相关动态,提升自己的技能水平。 五、安全与责任 尊重网站权益:避免对目标网站的正常运行造成干扰或损害,合理使用资源。 隐私保护:在采集数据时,严格遵守隐私保护法规,不泄露或滥用用户个人信息。 风险防范:了解并应对潜在的网络威胁,采取相应措施降低风险。 感谢您选择我们的Python爬虫工具与教程集合!让我们一起挖掘网络信息的宝藏,为您的工作和研究注入新的活力!请务必遵守法律法规和网站使用协议,共同维护网络数据的合法采集与利用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My.ICBM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值