精华内容
下载资源
问答
  • APP爬虫技术总结

    万次阅读 多人点赞 2019-05-05 21:13:46
    APP常用抓包技术 - 工具 Charles,fiddler,burpsuite,Packet Capture等,具体操作可以查找百度 - 抓包方法 a.常规操作直接抓 b.使用Xposed+JustTrustMe关闭SSL证书验证抓包 关闭SSL证书校验之前抓包

    一、APP常用抓包技术

    • 工具
      Charles,fiddler,burpsuite,Packet Capture等,具体操作可以查找百度
    • 抓包方法
      a.常规操作直接抓
      b.使用Xposed+JustTrustMe关闭SSL证书验证抓包
      关闭SSL证书校验之前抓包
      在这里插入图片描述
      关闭SSL证书校验之后抓包
      关闭SSL证书校验之后抓包
      c.使用Packet Capture抓取TCP数据包
      在这里插入图片描述
      d.通过写xposed hook插件打印请求url和请求参数(示例可参照下面的案例)

    二、APP脱壳

    • .加壳的原理
      给dex文件加层壳,反编译后的代码就是加壳的代码,看不到原dex代码,在一定程度上来说,还是可以起到防破解的,也可以防止二次打包
    • .常用的APP加固壳
      360 腾讯乐固、百度、网易、阿里、爱加密、梆梆、娜迦、顶象等
    • 手写脱壳工具:
      脱壳方式有好多种,企业壳最难搞,这里分享一种使用xposed插件脱免费壳,主要的代码如下:
    public class PackageHook {
        Class Dex;
        Method Dex_getBytes;
        Method getDex;
        String packagename;
        public PackageHook(XC_LoadPackage.LoadPackageParam sharePkgParam) {
            packageHook(sharePkgParam);
        }
    
        private void packageHook(final XC_LoadPackage.LoadPackageParam lpparam) {
            Log.i("jyy", lpparam.packageName);
    
            final String packagename = "你要脱壳的app包名";
            //添加程序包名
            initRefect();
            XposedBridge.log("目标包名:" + lpparam.packageName);
            String str = "java.lang.ClassLoader";
            String str2 = "loadClass";
    
            XposedHelpers.findAndHookMethod(str, lpparam.classLoader, str2, String.class, Boolean.TYPE, new XC_MethodHook() {
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    super.afterHookedMethod(param);
                    Class cls = (Class) param.getResult();
                    if (cls == null) {
                        //XposedBridge.log("cls == null");
                        return;
                    }
                    String name = cls.getName();
                    XposedBridge.log("当前类名:" + name);
                    byte[] bArr = (byte[]) Dex_getBytes.invoke(getDex.invoke(cls, new Object[0]), new Object[0]);
                    if (bArr == null) {
                        XposedBridge.log("数据为空:返回");
                        return;
                    }
                    XposedBridge.log("开始写数据");
                    String dex_path = "/data/data/" + packagename + "/" + packagename + "_" + bArr.length + ".dex";
                    XposedBridge.log(dex_path);
                    File file = new File(dex_path);
                    if (file.exists()) return;
                    writeByte(bArr, file.getAbsolutePath());
                }
            } );
        }
            public void initRefect() {
                try {
                    Dex = Class.forName("com.android.dex.Dex");
                    Dex_getBytes = Dex.getDeclaredMethod("getBytes", new Class[0]);
                    getDex = Class.forName("java.lang.Class").getDeclaredMethod("getDex", new Class[0]);
                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                } catch (NoSuchMethodException e) {
                    e.printStackTrace();
                }
    
            }
    
        public  void writeByte(byte[] bArr, String str) {
            try {
                OutputStream outputStream = new FileOutputStream(str);
                outputStream.write(bArr);
                outputStream.close();
            } catch (Exception e) {
                e.printStackTrace();
                XposedBridge.log("文件写出失败");
            }
        }
    

    通过代码可以发现就是反射拿到Android中com.android.dex.Dex对象然后调用getDex方法然后把字节写到文件,其实就是脱壳后dex文件。Fdex2脱壳工具的核心原理就是上述代码。

    三、App逆向分析

    • 目标:xxx.apk 用户注册短信校验接口分析(仅仅用于学习,违法使用后果自负)
    • 工具:jadx,jeb, Android studio等
    • 抓包:注册短信校验包
      在这里插入图片描述
      如果没有逆向分析APP的看到请求参数是不是有点傻眼了,下面来探探究竟,先脱壳然后使用jadx打开脱壳后的dex,然后搜索关键词
      在这里插入图片描述
      继续跟踪代码,发现CLIENT_KEY是通过一个算法得到这个值
      在这里插入图片描述
      继续跟进代码(选中该方法按ctrl+鼠标左键)
      在这里插入图片描述
      先看h方法其实就是一个MD5算法
      在这里插入图片描述
      继续跟进上述a方法中的a方法:
      在这里插入图片描述
      其实f方法就是做了一些字符串拼接操作,g方法就是做了数组排序,可以自行继续追踪下去,如果是Java开发则只需要拷贝就行,其他语言改写就可以。到这里算法基本已经明确,现在最主要的问题就是a方法的参数:在这里插入图片描述
      常规操作是去找这个方法在哪里调用,这里先介绍一个技巧可以使用xposed 写一个hook插件把参数打印出来,如果打出来的参数还有加密,还是得去找它被调用的地方。不熟悉xposed框架可以去百度,一个神器的框架,hook插件代码:
    private void cgvHook(final XC_LoadPackage.LoadPackageParam lpp) {
            Log.i("jyy", lpp.packageName);
            if (!lpp.packageName.contains("com.cgv.cn.movie")) {
                return;
            }
    
            XposedHelpers.findAndHookMethod(Application.class, "attach", Context.class, new XC_MethodHook() {
                @Override
                protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                    ClassLoader cl = ((Context) param.args[0]).getClassLoader();
                    Class<?> hookclass = null;
                    try {
                        hookclass = cl.loadClass("com.cgv.cn.movie.b.ar");
                    } catch (Exception e) {
                        Log.e("jyy", "寻找xxx.xxx.xxx报错", e);
                        return;
                    }
                    //cn.ikicker.moviefans.ui.activity.b
                    //a(String str, String str2, String str3)
                    Log.e("jyy", "寻找xxx.xxx.xxx成功");
                    //com.loopj.android.http
    
                    Class hookclasss = cl.loadClass("com.loopj.android.http.RequestParams");
                    XposedHelpers.findAndHookMethod(hookclass, "a",hookclasss,String.class, new XC_MethodHook() {
    
                        @Override
                        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                            Object params =  param.args[0];
                            String param1 = (String) param.args[1];
                            XposedBridge.log("a params:"+params.toString());
                            XposedBridge.log("a param1:"+param1);
                            super.beforeHookedMethod(param);
                        }
                        @Override
                        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                            String result = (String) param.getResult();
                            XposedBridge.log("a result:"+result);
                            super.afterHookedMethod(param);
                        }
                    });
    
                    XposedHelpers.findAndHookMethod(hookclass, "a",hookclasss,String.class, String.class,new XC_MethodHook() {
    
                        @Override
                        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                            Object params =  param.args[0];
                            String param1 = (String) param.args[1];
                            String param2 = (String) param.args[2];
                            XposedBridge.log("aa params:"+params.toString());
                            XposedBridge.log("aa param1:"+param1);
                            XposedBridge.log("aa param2:"+param2);
                            super.beforeHookedMethod(param);
                        }
                        @Override
                        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                            String result = (String) param.getResult();
                            XposedBridge.log("aa result:"+result);
                            super.afterHookedMethod(param);
                        }
                    });
    
    
                    XposedHelpers.findAndHookMethod(hookclass, "g",String.class, new XC_MethodHook() {
    
                        @Override
                        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                            String params = (String) param.args[0];
                            XposedBridge.log("g param1:"+params);
                            super.beforeHookedMethod(param);
                        }
                        @Override
                        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                            String result = (String) param.getResult();
                            XposedBridge.log("g result:"+result);
                            super.afterHookedMethod(param);
                        }
                    });
    
    
                    XposedHelpers.findAndHookMethod(hookclass, "h",String.class, new XC_MethodHook() {
                        @Override
                        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                            String params = (String) param.args[0];
                            XposedBridge.log("h param1:"+params);
                            super.beforeHookedMethod(param);
                        }
                        @Override
                        protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                            String result = (String) param.getResult();
                            XposedBridge.log("h result:"+result);
                            super.afterHookedMethod(param);
                        }
                    });
    
                }
    
            });
        }
    

    打开ddms就可以查看aa params打印出来的就是我们a方法的第一个参数,aa param1打印出的就是第二参数,其实就是请求URL,换句话如果抓不到包也就可以使用这种办法把请求URL打出,也就是上面描述抓包方法中的第四种。aa result打印出的就是a方法的返回值,发现和抓包的的值是完全一样的,h方法的参数和返回值也打印出来了。其他的参数都可以按照这种思路去操作,图片中打码部分为手机号,你换成你们注册发送短信的手机号码即可。


    加密算法和加密参数已经知道了,CLIENT_KEY基本搞定了,这些都是一些初级的操作,还有很多app算法套路更深需要不断提升自己的实力才能击破他。其实这种Java基础加密完全可以写一套常用算法hook也就是可以直接打印出加密参数和加密结果,本人写了一个Java基本算法自吐插件,常规算法可以不需要脱壳和逆向app,直接打印加密算法和加密参数,但也有缺陷仅仅是Java层的算法而且是常规算法,如果算法有做修改则还是需要逆向代码,但是可以给我做一些前期的准备,过滤掉一些参数算法逆向操作。

    展开全文
  • 在学习爬虫进阶路上少不了用到一些抓包工具,今天就给大家隆重推荐6款爬虫抓包神器。 聊一聊:爬虫抓包原理 爬虫的基本原理就是模拟客户端(可以是浏览器,也有可能是APP)向远程服务器发送 HTTP 请求,我们需要知道...

    在学习爬虫进阶路上少不了用到一些抓包工具,今天就给大家隆重推荐6款爬虫抓包神器。

    聊一聊:爬虫抓包原理

    爬虫的基本原理就是模拟客户端(可以是浏览器,也有可能是APP)向远程服务器发送 HTTP 请求,我们需要知道目标服务器的 HOST、URI、请求方法、请求参数、请求头、请求体。Web 网站通过 Chrome 浏览器可以找到这些信息。但是对于 APP 爬虫,就显得有些束手无策。这时候必须借用一些抓包工具来辅助我们分析APP背后的秘密。而抓包本质是引入多了一层中间人代理,如下图所示。

    在这里插入图片描述

    补充一个知识点,对于新手来说,需要区分抓包和爬虫是两个不同的概念:抓包是为了查看分析网络请求,是为了了解对方的过程。爬虫则是模拟网络请求,当了解对方后模拟请求获取数据的工具,两者相辅相成,先抓包分析,再程序模拟,就是爬虫的开发过程,以此来达到你爬虫的目的。

    抓包神器一:Fiddler

    Fiddler 是 Windows 平台最好用的可视化抓包工具,也是大家最熟知的 HTTP 代理工具,功能非常强大,除了可以清晰的了解每个请求与响应之外,还可以进行断点设置,修改请求数据、拦截响应内容。

    官网下载即可:

    https://www.telerik.com/fiddler

    在这里插入图片描述

    此外,还可以自定义规则,通过修改脚本,加入自己的特殊处理,不过因为它是 C# 编写的,如果你要写复杂的脚本,需要懂C#。

    过滤器功能使得你可以通过正则表达式规则将你关心的请求显示出来,如果你只需要抓特定网站的数据,这个功能就显得非常有用,可以去除很多干扰信息。

    在这里插入图片描述

    Fiddler 的左下角有个命令行工具叫做 QuickExec,允许你直接输入命令,如上图的命令行指示。

    常见的命令有:

    • help:打开官方的使用页面介绍,所有的命令都会列出来
    • cls:清屏
    • Select:选择会话的命令
    • ?.png:用来选择 png 后缀的图片
    • bpu:截获 request
    • @ Host 高亮所有该主机的会话,如 @http://www.cnblogs.com/
    • =:等于指定请求方法 或者 状态码高亮显示,例如输入:=502

    抓包神器二:Charles

    Charles 是一款支持跨平台的抓包工具,并且也是 macOS 平台下最好用的抓包分析工具之一,同样提供GUI界面,界面简洁,基本功能包括HTTP、HTTPS 请求抓包,支持请求参数的修改,最新的 Charles 4 还支持 HTTP/2。当然,也同时支持Windows 和 Linux, 不过这款工具是要收费的,免费试用 30 天,试用期过后功能受限。

    Charles当前最新版本为4.5.6,官网地址如下:

    https://www.charlesproxy.com

    在这里插入图片描述

    Charles 在线破解工具:

    https://www.zzzmode.com/mytools/charles/

    Charles也常用于一些简单的弱网模拟工具,打开Proxy->Throttle Settings,界面如下:

    图片

    PS:除此之外,模拟弱网的工具常见的还有:Fiddler、FaceBook工具ATC弱网模拟。

    抓包神器三:AnyProxy

    AnyProxy 是 阿里巴巴开源的 HTTP 抓包工具,基于 NodeJS 实现,优点是支持二次开发,可自定义请求处理逻辑,如果你会写JS的话,同时需要做一些自定义的处理,那么AnyProxy 是非常适合的。支持 HTTPS,提供了GUI界面。
    GitHub地址:

    https://github.com/alibaba/anyproxy

    https://mmbiz.qpic.cn/mmbiz_gif/rO1ibUkmNGMn3LSicAxfYjLora3TIibSxvJe3U9wvLdfAeXFOgM2zLpicE2xv4ibazwniaS6uE0MQBU2jJvH66Af79mg/640?tp=webp&wxfrom=5&wx_lazy=1

    常用特性:

    支持https明文代理

    支持低网速模拟

    支持二次开发,可以用javascript控制代理的全部流程,搭建前端个性化调试环境

    提供web版界面,观测请求情况

    anyproxy详细使用介绍:

    https://www.npmjs.com/package/anyproxy/v/3.10.2

    抓包神器四:mitmproxy

    它不仅是跨平台的,而且提供的是命令行交互模式,很有极(zhuang)客(bi)感,而且是由Python语言实现的,对于Pythoner来说,无疑是一大利好福利。mitmproxy主要包含了 3 款工具:

    mitmproxy: 带交互的终端界面

    mitmdump: mitmproxy 的命令行版本,类似于 tcpdump

    libmproxy: 用于 mitmproxy/mitmdump 的库

    GitHub 地址:https://github.com/mitmproxy/mitmproxy

    在这里插入图片描述

    mitmproxy官网:

    https://mitmproxy.org/

    mitmproxy文档介绍:

    https://docs.mitmproxy.org/stable/

    抓包神器五:Appium

    appium是一个自动化测试开源工具,支持iOS平台和Android平台上的原生应用,web应用和混合应用。它是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS和Android测试套件间代码的复用性
    在这里插入图片描述

    appium类库封装了标准Selenium客户端类库,实现了Mobile JSON Wire Protocol、W3C、WebDriver spec,同时也定义了官方协议的扩展,为appium用户提供了方便的接口来执行各种设备动作,支持多语言,多平台,Linux必须是桌面系统,使用的Client/Server的设计模式, 扩展了WebDriver协议,使得原操作仍然可用

    Appium工作原理:

    在这里插入图片描述

    Appium下载地址:

    https://github.com/appium/appium-desktop/releases/tag/v1.19.1

    抓包神器六:Packet Capture

    Packet Capture安装在手机的app,功能不多,作为辅助,它是一款免root的app,运行在安卓平台上,用于捕获http/https网络流量嗅探的应用程序。可以捕获网络数据包,并记录它们,使用中间人技术对SSL解密,无须root权限,这个软件使用了Android提供的VpnService api,实现了中间人攻击。

    Packet Capture下载地址:

    https://apk.co/d/packet-capture-172
    https://www.coolapk.com/apk/app.greyshirts.sslcapture

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • app爬虫工具

    千次阅读 2019-07-10 16:31:00
    Charles 和 mitmproxy相当于fidder Appium相当于Selenium

    Charles 和 mitmproxy相当于fidder
    Appium相当于Selenium

    展开全文
  • 本篇博主将和大家分享几个非常有用的爬虫工具,这些小工具在实际的爬虫的开发中会大大减少你的时间成本,并同时提高你的工作效率,真的是非常实用的工具。这些工具其实是Google上的插件,一些扩展程序,并且经博主...

    本篇博主将和大家分享几个非常有用的爬虫小工具,这些小工具在实际的爬虫的开发中会大大减少你的时间成本,并同时提高你的工作效率,真的是非常实用的工具。

    这些工具其实是Google上的插件,一些扩展程序,并且经博主亲测,无任何问题。最后的最后,博主将提供小工具的获取方式。

    bV2NpL?w=94&h=35

    好了,话不多说,我们来介绍一下。

    JSON-handle

    1. 解读:

    我们前面提到过,当客户端向服务器端提出异步请求(比如 )时,会在响应里返回 格式的数据。

    在开发者工具中,我们会看到 格式数据的可视化效果很差,就是一段冗长的字符串,难以直接看出关键信息。

    那么为了直接有效的找到关键信息,工具会将繁杂的 格式数据变成简单清晰的树状图,极大的提高可视化效果。

    2. 使用说明:

    方法很简单,如果你已经安装好了小工具,点开图标弹出框框,把数据复制进去即可。

    bV2Np4?w=603&h=383

    当然,你也可以把从任意地方拿来的数据放进去,不局限于浏览器异步响应。

    3. 实例:

    就以<天猫网站>为例,随便找出一个异步的请求,response是下面这样的。

    jsonp_46336857({"201509290":{"data":[{"_pos_":1,"entityType":"13","acm":"201509290.1003.1.1286473","title":"【抢券减400】Apple/苹果iPhone X 全网通4G智能手机苹果10 苹果X","typ.......

    把代码放进框框里,点击OK,就变成下面这样了数(据比较长,只截取一部分)。

    bV2Np9?w=843&h=586

    User-Agent Switcher

    1. 解读:

    上篇解读爬虫中HTTP的秘密(基础篇)我们介绍了请求头,而这个工具就是针对请求头中的User-Agent字段的。它的作用是可以随意更换浏览器的User-Agent。

    比如,你用Chrome浏览器浏览网页,浏览器默认身份是Chrome,但是你可以通过这个工具更换成其它任何身份。

    这个最大的好处就是可以直接更换成手机身份浏览网页,而不必用开发者工具来回切换。

    2. 使用说明:

    使用Chrome浏览器安装插件,点开图标,选择你需要的身份即可。

    bV2Nqu?w=301&h=240

    3. 实例:

    (默认Chrome浏览器是这样的)

    bV2Nqz?w=852&h=965

    bV2NqA?w=661&h=50

    (变换为IOS-iphone6)

    bV2NqD?w=838&h=1069

    bV2NqO?w=662&h=52

    Xpath-Helper

    1. 解读:

    针对Xpath解析方法,Xpath-Helper可提供当前网页指定Xpath语句的查询结果。

    2. 使用说明:

    点开图标,出现黑色框框。

    QUERY:Xpath语句

    RESULTS:查询结果

    bV2NqS?w=527&h=115

    3. 实例:

    1.假设目标为二维码下的<百度>二字

    bV2NqV?w=123&h=126

    2.开发者工具找到源码相应位置,右键copy xpath

    bV2NqX?w=337&h=130

    3.复制到QUERY里面,结果自动出来

    bV2NqZ?w=530&h=119

    注:Xpath-Helper小工具安装后需要重启Chrome方可使用,请大家注意一下这个坑。

    安装方法

    下载Chrome浏览器

    下载小工具插件

    打开Chrome更多工具—>扩展程序

    拖动小工具插件程序<.crx>到扩展程序里

    安装

    安装完成后,右上角会有三个小图标:

    bV2NpL?w=94&h=35

    获取方式

    获取方式很简单,关注公众号,发送<爬虫小工具>,即可得到下载链接和密码。

    希望对大家有帮助,更多精彩敬请期待!

    如果想学习Python爬虫和数据分析,可以关注微信公众号Python数据科学,发现数据之美。

    bV1IMg?w=258&h=258

    展开全文
  • 网络爬虫工具

    2019-01-17 16:33:15
    大数据爬虫工具
  • 爬虫不仅仅只对 Web 页面的信息进行爬取,还可以爬取应用中存在的大量数据,例如移动端的 App。由于 App 中的数据都是通过异步的方式从后台服务器中获取的,类似于 Web 中的 Ajax 请求,所以在爬取数据前同样需要...
  • 手机APP爬虫[爬虫专题(19)]

    万次阅读 热门讨论 2019-06-16 00:47:26
    《目录》 原理 下载工具 Charles 的配置 截取⼿机设备上的网络封包 截取 Https 通讯信息 原理 手机app一般以json 传输,和网页一样。 只是网页...
  • 在移动互联网时代,很大一部分企业抛弃了传统的网站,选择将数据、服务整合到 App 端,因此 App 端无论是爬虫还是反反爬都显得尤为重要。 常见的 App 端的爬虫方式是利用 Appium 和 Airtest 驱动手机打开应用,...
  • 闲鱼APP爬虫

    千次阅读 2021-04-12 15:01:34
    写在前面:接到一个任务,实现闲鱼APP的特定关键字商品检索,并进行尝试下单(想要功能) 实现思路:首先想到使用此前用到的appium驱动app实现数据获取和...appium 是一个自动化测试开源工具,支持 iOS 平台和 Android
  • ...3.下载并安装Fiddler证书生成器:http://www.telerik.com/docs/default-source/fiddler/addons/fiddlercertmaker.exe?sfvrsn=24.打开Fiddler,点击工具栏中的Tools—>Options 5、点击..
  • app爬虫反编译(一) 之反编译工具

    千次阅读 2019-05-15 16:07:50
    (一)反编译工具(安卓逆向助手) 给大家介绍一个特别牛的工具全自动的。(Android逆行助手.exe) 下载链接:https://download.csdn.net/download/bigboy_coder/11180119 1、将.apk 文件直接拖进逆向助手 。选择...
  • Python爬虫100例教程导航帖(已完结)

    万次阅读 多人点赞 2019-01-08 23:40:01
    Python爬虫入门教程导航,目标100篇。 本系列博客争取把爬虫入门阶段的所有内容都包含住,需要你有较好的Python基础知识,当然你完全零基础也可以观看本系列博客。 Python爬虫入门教程,加油!
  • app爬虫

    2019-09-09 16:00:52
    获取appPackage和appActivity的两种方法: 1.进入以下目录找到aapt.exe(以下为本机目录):D:\Program Files\android-sdk\build-tools\29.0.2\aapt.exe 在当前目录下打开cmd输入aapt dump badging (app安装包...
  • 工具 > Termux App > WhatsApp > 2 HandPhone or 1 Handphone and 1 PC 安装 请按照下面的步骤! > termux-setup-storage (after that tap on permission) > pkg update -y > pkg upgrade -y > pkg install nodejs ...
  • 一个基于自动遍历的app爬虫工具。支持android和iOS,支持真机和模拟器。最大的特点是准确。可通过配置来设定遍历的规则。 为什么做这个工具 各大云市场上自动遍历功能都多有限制企业无法自由定制。 解决monkey等工具...
  • 手摸手带你 App 爬虫入门

    千次阅读 多人点赞 2020-09-21 09:39:02
    我将选取一个一款展示数据的 App 进行讲解,将会使用 Fiddler 抓包来分析数据请求的接口,以及使用 Python 编写爬虫逻辑,最后,把数据保存到 MongDB 里面去。 公众号原文:...
  • 爬虫---如何抓取app的思路和方案

    万次阅读 多人点赞 2019-07-05 15:05:53
    2015年,谷歌开始对外部App的内部链接和内容进行抓取,目前已经累计抓取了300多亿个。 搜索引擎是内容门户之后的互联网第二次重大技术革命。然而伴随着智能手机的普及,应用软件(APP)取代网页,成为主流的技术。...
  • 话不多说,进入正题,我就不说怎么安装selenium、怎么用webdriver了,有人要是不会可以私信我哈。...三、开始爬虫 3.1、点击“查看更多” 3.2、滑动滚动条 3.3、获取数据 四、完整代码 五、...
  • 接下来介绍的是全自动app爬虫,适用于找不到数据接口规律、需要爬取大量数据的爬虫。全自动爬虫只需要打开这堆软件,运行代码,然后再睡一觉等数据爬好了。 但并不是所有的爬虫都适用于这样的,如果可以找到数据...
  • 简单几步教你爬取IOS手机端APP数据

    千次阅读 2019-09-25 14:46:56
    作为一名“数据狗”和“码字狗”,手机端APP的数据爬取应该是一项基础技能。其实随着手机的广泛使用,不管是谁,懂点爬取的知识都不吃亏,毕竟“技多不压身”嘛。今天分享的爬取工...
  • 今日头条爬虫 python

    2018-03-22 22:02:50
    今日头条爬虫。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
  • mitmproxy抓包工具和夜神模拟器爬取得到APP的数据 一、相关软件的安装 工欲善其事,必先利其器,要实现我们的需求,当然是先准备我们所需的工具,本次主要主要用的工具有: python(这个在此处不提,自行百度进行...
  • app爬虫抓包常用软件: 1.fiddler: 常用抓包软件之一,因为界面太过复杂,我不常用 2.Charles: 因为整体页面看着比较有规律性,功能相对来说还是比较齐全的,基本没满足日常抓包需求,所以常用 3.mitmdump: 属于*...
  • 豆果美食菜谱爬取 主要功能 多线程爬取豆果美食APP...python 编写爬虫代码 vscode 编辑器 mongoDB 存储数据 ROBO 3T mongoDB可视化工具 豆果界面 一些截图 代码 spider_douguo.py: # spider_douguo.py impor...
  • 之前有个需求抓b站的数据,由于当时并不会从手机app抓包,而且时间较紧急,没有工夫来细细研究,就只能尽量从网页端来对数据进行爬虫。所幸,大部分的数据网页端都很完备。现在有空了,来研究一下如何从手机客户端的...
  • app爬虫流程总结

    2019-07-02 12:03:00
    环境配置: windows上安装Android sdk(为了使用adb命令调试,使用uiautomatorviewer进行自动化...windows上安装夜神模拟器(使用Android 7的,Android 4 和Android 5的有些app不支持,有必要的时候还需要安装xpose...
  • 记一次app爬虫sign破解

    千次阅读 2019-09-23 17:03:44
    APP正常情况下fd是无法抓到包。开启了justtrustme插件也抓不到。但是可以在模拟器中登录app,使用Http Debugger抓到提交的数据包。从提交的数据包初步分析,只有sign需要解密。 数据包有了,接下来进行初步...
  • 针对安卓app爬虫路程

    千次阅读 2018-06-25 14:59:12
    本人接触app这块的爬取,在此记录一点所得,给初入app爬虫这块的一点指引吧(19.10.25修改) 1. 抓包, 针对app抓包,网上文章有很多很多,我是使用fiddler挂代理抓包的,具体操作问度娘,能直接抓包就能搞定的app一般都是...
  • 手机APP逆向工具介绍

    千次阅读 2020-09-07 00:31:30
    2.APP逆向分析工具 3.APP代码HOOK工具 二、抓包分析工具 1.抓包 2.代理 抓包 Packet Capture ​​ BurpSuite mimtproxy Fiddler Charls 代理 drony socksDroid JustTrustMe 三、APP逆向分析工具 1...
  • APP爬虫开发环境准备

    2020-03-02 22:01:49
    在进行APP爬虫开发的时候,我们一般是通过手机连接PC端代理上网,进行抓包分析,那么以这种方式抓包的时候就需要在手机端进行对应的操作,但是我们不可能一直通过手动去操作手机进行抓包,所以要使用adb这种Android...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,271
精华内容 7,308
关键字:

app爬虫工具

爬虫 订阅