`

App数据抓取

 
阅读更多
思路:
通过fiddler抓包工具,USB连接手机,配置端口,设置代理,抓取手机端的请求和数据,写入文本文件,需要编写手机模拟操作的自动化脚本,以便自动化采集数据





1.下载android sdk 、fiddler(抓包工具) 需要安卓手机一部,启动USB连接 ,安装手机驱动
2.安装fiddler 4.6.2.0 ,配置fiddle,配置tools-》 fiddlers options-》 Connections, 勾选allow remote computers to connect, 默认监听
端口为8888( 下图Fiddler listens on port就是端口号) , 若端口被占用可以设置成其他的, 配置好后要重新启动fiddler
设置过滤网站的方式:打开fiddler, 找到Filters选项并点击打开。
Use Filters 在这个选项上打勾,打开后我们可以看到下面的Host模式, 我们选择Show the following Hosts。 表示我们只在Fiddler上显示以下
域名的数据请求。然后我们再Hosts文本区域, 输入我们需要显示的域名, 如www.baidu.com或者是192.168.0.171等。 用分号分
割多个域名。 填好我们的域名后, 我们点击Actions选项并选择Run Filterset Now.现在就已经设置好了, 进行手机调试即可在手机上配置网络代理, 通过手机的设置功能-》 WLAN功能-》 具体的wifi名称的高级设置-》 代理-》 选择手动, 设置成自己电脑的
ip, 端口为8888, 手机和电脑连接同一个网络, 打开手机浏览器, 输入http://ip:端口号,(自己的ip和port),点击第二个安装证书
3、 打开fiddler, 工具栏选择Rules-> Customize Rules, 此时fiddler会创建Customize Rules.js
打开Customize Rules.js, 我们就可以在此编写自定义规则了(把手机访问的数据写入txt)如果不能生成txt文件,请用管理员身份打开fiddler

需要修改下面两处地方
在static function OnBeforeRequest(oSession: Session) { 方法中的最下面增加下面的代码
// add by dijian 2017/2/13 start
if (oSession.host.toLowerCase()=="wmapi.meituan.com")
{
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.OpenTextFile("c:\\Sessions.txt", 8, true, true);
file.writeLine("Request url: " + oSession.url);
//file.writeLine("Request header:" + "\n" + oSession.oRequest.headers);
//file.writeLine("Request body: " + oSession.GetRequestBodyAsString());
file.writeLine("\n");
file.close();
}//
add by dijian 2017/2/13 end
在static function OnPeekAtResponseHeaders(oSession: Session) {方法中的 static function OnBeforeResponse(oSession: Session) 方法最下面增加下面的代码
// add by dijian 2017/2/13 start
if (oSession.host.toLowerCase()=="wmapi.meituan.com")
{
oSession.utilDecodeResponse();
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.OpenTextFile("c:\\Sessions.txt",8 ,true, true); file.writeLine("Response code: " + oSession.responseCode);
file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
file.writeLine("\n");
file.close();
}//
add by dijian 2017/2/13 end

打开c盘sessions.txt文件看一下具体的日志信息
4.monkeyrunner来实现脚本的录制和回放
在CMD下进入android的sdk下的tools目 录下, 进行下面的操作
录制: 1 、 在cmd下输入monkeyrunner recorder.py,
将打开下面的窗口
该窗口的功能:
1 、 可以自 动显示手机当前的界面
2、 自 动刷新手机的最新状态
3、 点击手机界面即可对手机进行操作, 同时会反应到真机, 而且会在右侧插入操作脚本
4:、 wait: 用来插入下一次操作的时间间隔, 点击后即可设置时间, 单位是秒
Press a Button: 用来确定需要点击的按钮, 包括menu、 home、 search, 以及对按钮的press、 down、 up属性
Type Something: 用来输入内容到输入框
Fling: 用来进行拖动操作, 可以向上、 下、 左、 右, 以及操作的范围
Export Actions: 用来导出脚本
Refresh Display: 用来刷新手机界面, 估计只有在断开手机后, 重新连接时才会用到
录制的脚本如下
[python] view plain copy
1. TOUCH| {' x' : 187, ' y' : 356, ' type' : ' downAndUp' , }
2. PRESS| {' name' : ' MENU' , ' type' : ' downAndUp' , }
3. WAIT| {' seconds' : 5. 0, }
4. DRAG| {' start' : (192, 128) , ' end' : (192, 640) , ' duration' : 1. 0, ' steps' : 10, }
回放: 使用命令monkeyrunner recorder_playback.py record_test.py
最后一个为录制的文件, 这里需要使用绝对路径

fiddler :fiddlerScript修改

static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
// add by dijian 2017/2/13 start
if (oSession.host.toLowerCase()=="wmapi.meituan.com"||oSession.host.toLowerCase()=="client.waimai.baidu.com")
{
oSession.utilDecodeResponse();
var fso;
var file;
fso = new ActiveXObject("Scripting.FileSystemObject");
file = fso.OpenTextFile("F:\\Sessions.txt",8 ,true, true);
            file.writeLine("Request header:" + "\n" + oSession.oRequest.headers);
            file.writeLine("token: " + oSession.GetRequestBodyAsString());
            file.writeLine("Response code: " + oSession.responseCode);
file.writeLine("Response body: " + oSession.GetResponseBodyAsString());
file.writeLine("\n");
file.close();
}
// add by dijian 2017/2/13 end
}


分享到:
评论

相关推荐

    01-Python爬虫工程师-App数据抓取

    Python爬虫工程师-App数据抓取思维导图,便捷整理思路,目标、对项目、公司、个人的意义、爬虫工程师技术储备

    app数据抓取

    移动app抓取数据,进行数据防抓取防护,同时可以有效地分析抓取数据

    企查查企业信息爬虫 ,企查查app每日新增企业抓取,可以进行每日的增量抓取、企业数据、工商数据等等

    企查查企业信息爬虫 ,企查查app每日新增企业抓取,可以进行每日的增量抓取、企业数据、工商数据等等。 每天定时抓取 自动刷新token 省份、市的所有代码 token自动刷新 根据地址自动将省份、市、区县进行分割 所有...

    c#,asp.net网站数据抓取程序

    1. **App.config**:这是.NET应用程序的配置文件,其中可能包含连接字符串、API密钥或其他敏感设置,对于数据抓取程序来说,可能存储了HTTP请求的超时设置或代理服务器信息。 2. **SQL.CONFIG**:这可能是用于存储...

    app-store-scraper, 从 itunes App Store 中抓取数据.zip

    app-store-scraper, 从 itunes App Store 中抓取数据 app-store-scraper Node.js 模块从 itunes/mac App Store 抓取应用程序数据。 目标是提供一个尽可能接近于 google-play-scraper插件模块的接口。安装npm ins

    Python爬虫抓取手机APP的传输数据.pdf

    Python爬虫抓取手机APP的传输数据 本文主要介绍了使用 Python 爬虫抓取手机 APP 的传输数据,特别是抓取超级课程表 APP 里用户发的话题。整个过程可以分为三个部分:抓取 APP 数据包、登录和抓取数据。 一、抓取 ...

    豆果美食爬虫代码.zip

    总结:这个豆果美食爬虫代码项目涉及了网络爬虫的多个方面,包括爬虫框架选择、移动app数据抓取、反爬策略、数据处理与分析等,对于学习和实践网络爬虫技术具有很高的价值。同时,它也提醒我们,在开发爬虫时要注重...

    企查查企业信息爬虫 ,企查查app每日新增企业抓取,可以进行每日的增量抓取、企业数据、工商数据等等 .zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    数据库数据抓取

    数据库数据抓取是一种常见的IT操作,特别是在大数据处理、数据分析和系统集成中。在这个场景中,我们看到一个由VS 2013(Visual Studio 2013)编写的软件,其目标是读取源数据库中的数据并同步到另一个目标数据库。...

    AppIum抓取方式

    而Appium作为一种强大的自动化测试工具,不仅可以用于功能测试,还可以帮助我们实现对App的数据抓取。 #### 二、抓取App数据的步骤 根据提供的内容,我们可以将其分为以下几个部分进行详细的介绍: 1. **签名...

    Qimai爬取七麦数据网APP榜单数据

    本项目“Qimai爬取七麦数据网APP榜单数据”专注于使用Python进行Web爬虫开发,目的是从七麦数据网站抓取有关移动应用的排名和性能数据。 七麦数据(Qimai)是一个提供iOS和Android应用市场数据分析的平台,包含APP...

    数据抓包工具,可以抓取大众点评的所有数据

    在Windows系统上,你可以使用Wireshark,而在Web开发中,Fiddler和Charles则更为常用,因为它们专注于HTTP/HTTPS协议,这对于网页数据抓取非常有用。 接下来,让我们探讨如何抓取大众点评网的数据。大众点评网作为...

    Android 抓取新闻

    在Android平台上,开发一款能够抓取并展示新闻的...以上就是Android抓取新闻Demo程序的主要技术要点,涵盖了网络通信、数据解析、UI设计、本地存储、权限管理等多个方面,对Android开发者来说是一次全面的实战训练。

    2021年Python面试题总结.pdf

    8. **移动端APP数据抓取**: 抓取移动应用数据可以分为针对基于网页的APP、基于Web的APP和原生非Web的APP。对于非Web的APP,可能需要使用自动化工具(如Appium)或网络抓包工具(如Wireshark)来获取数据。 9. **...

    微博数据抓取以及数据分析

    微博数据抓取以及数据分析(已添加IP属地),包括: 用户ID,昵称,性别,认证信息,微博说明 用户的粉丝数量,关注数量,微博总数 每条微博的微博链接,微博内容,发布时间,发布设备,发布地点,抓取时的转发数,...

    快手app短视频数据提取和保存

    在IT行业中,数据提取与保存是一项基础且重要的技能,尤其在大数据时代,对社交媒体平台如快手APP的数据进行分析,可以洞察用户行为、市场趋势等关键信息。本篇将详细讲解如何使用Python爬虫技术来提取并保存快手APP...

    Python爬虫抓取手机APP的传输数据

    大多数APP里面返回的是json格式数据,或者一堆加密过的数据 。这里以超级课程表APP为例,抓取超级课程表里用户发的话题

    基于油田生产数据的移动APP研究与应用.pdf

    文章详细介绍了系统的建设思路、框架设计和技术实现,重点关注了跨平台APP开发、数据安全、信息抓取和GPS定位导航等方面。 首先,系统设计遵循实用性原则,一期版本主要集中在数据浏览和查询功能,采用MVP架构...

    2021年Python面试题总结.docx

    ### 移动端App数据抓取流程 1. **分析App架构**:判断App是否主要依赖于Web页面展示内容。 2. **使用自动化测试工具**:针对非Web页面的App,可以尝试使用自动化测试工具来模拟用户操作,抓取所需数据。 3. **抓包...

Global site tag (gtag.js) - Google Analytics