精华内容
下载资源
问答
  • 抖音APP爬虫
    千次阅读
    2019-02-26 21:56:06

    如何突破抖音APP反爬技术?求个位大佬解答?在这里插入图片描述

    1、抖音APP爬虫获取大V粉丝列表,如何突破加载数据的限制。用appium实现模拟滑动5000W只能加载3000条数据粉丝数据

    更多相关内容
  • 最新版抖音app爬虫(X-Gorgon参数获取思路)

    千次阅读 热门讨论 2020-07-24 23:40:49
    去年用python爬虫抓取了很多抖音的用户信息和视频,是通过fiddler抓包获取接口实现的,但是今年抖音爬虫手段的增强,原来的接口早已不能使用,虽然现在仍然能使用fiddler去获取接口,但是你会发现接口连接和请求头...

    去年用python爬虫抓取了很多抖音的用户信息和视频,是通过fiddler抓包获取接口实现的,但是今年抖音反爬虫手段的增强,原来的接口早已不能使用,虽然现在仍然能使用fiddler去获取接口,但是你会发现接口连接和请求头中有很多加密参数,经过了不断尝试,最后发现,最关键的一个参数是X-Gorgon,有了这个参数,你就可以根据你的需要进行数据爬取了。
    如李佳琪:
    在这里插入图片描述
    X-Gorgon构建方法:

    byteTable1 ="D6 28 3B 71 70 76 BE 1B A4 FE 19 57 5E 6C BC 21 B2 14 37 7D 8C A2 FA 67 55 6A 95 E3 FA 67 78 ED 8E 55 33 89 A8 CE 36 B3 5C D6 B2 6F 96 C4 34 B9 6A EC 34 95 C4 FA 72 FF B8 42 8D FB EC 70 F0 85 46 D8 B2 A1 E0 CE AE 4B 7D AE A4 87 CE E3 AC 51 55 C4 36 AD FC C4 EA 97 70 6A 85 37 6A C8 68 FA FE B0 33 B9 67 7E CE E3 CC 86 D6 9F 76 74 89 E9 DA 9C 78 C5 95 AA B0 34 B3 F2 7D B2 A2 ED E0 B5 B6 88 95 D1 51 D6 9E 7D D1 C8 F9 B7 70 CC 9C B6 92 C5 FA DD 9F 28 DA C7 E0 CA 95 B2 DA 34 97 CE 74 FA 37 E9 7D C4 A2 37 FB FA F1 CF AA 89 7D 55 AE 87 BC F5 E9 6A C4 68 C7 FA 76 85 14 D0 D0 E5 CE FF 19 D6 E5 D6 CC F1 F4 6C E9 E7 89 B2 B7 AE 28 89 BE 5E DC 87 6C F7 51 F2 67 78 AE B3 4B A2 B3 21 3B 55 F8 B3 76 B2 CF B3 B3 FF B3 5E 71 7D FA FC FF A8 7D FE D8 9C 1B C4 6A F9 88 B5 E5"
    def getXGon(url,stub,cookies):
        NULL_MD5_STRING = "00000000000000000000000000000000"
        sb=""
        if len(url)<1 :
            sb =NULL_MD5_STRING
        else:
            sb =encryption(url)
        if len(stub)<1:
            sb+=NULL_MD5_STRING
        else:
            sb+=stub
        if len(cookies)<1:
            sb+=NULL_MD5_STRING
        else:
            sb+=encryption(cookies)
        index = cookies.index("sessionid=")
        if index == -1:
            sb+=NULL_MD5_STRING
        else:
            sessionid = cookies[index+10:]
            if sessionid.__contains__(';'):
                endIndex = sessionid.index(';')
                sessionid = sessionid[:endIndex]
            sb+=encryption(sessionid)
        return sb
    

    更新2020.7.24:

    最近开发了 X-Gorgon 04版本,之前03版本在抖音7以下的版本中评论数据已经抓不到了。

    xgorgon04版本使用了python改写了加密过程,适用于抖音最近几个版本,有兴趣的可以分享交流~

    展开全文
  • 声明:此贴只做学习交流使用,不得用于违法行为,...抖音Version:12.8.0 (发帖时的最新版本)or 抖音极速版 (文件少,编译快) IDA or JEB Jadx-gui frida Pycharm root 真机(Android) or 模拟器 2、反编译: Apk

    声明:此贴只做学习交流使用,不得用于违法行为,如触犯刑法,后果自负。

    听说抖音新版本的加密措施保护的很是严格,瞬间想皮一下~ 闲话少bb,直接刚~

    1、用到的工具等:

    Charles (随便一个抓包工具即可,哪个顺手用哪个)

    动态字段: x-gorgon:0408*** (开头)

    抖音Version:12.8.0 (发帖时的最新版本)or 抖音极速版 (文件少,编译快)

    IDA or JEB

    Jadx-gui

    frida

    Pycharm

    root 真机(Android) or 模拟器

    2、反编译:

    Apk 直接丢入 Jadx-gui or Apk==>zip ==> 解压 ==> .dex 全部打包丢入 Jadx-gui

    查找关键字: x-girgon

    在这里插入图片描述

    先看调用处:
    在这里插入图片描述

    这个so 文件全名: libcms.so apk压缩包中可以找到。

    接下来看看函数声明处:

    在这里插入图片描述

    代码不能被工具完美还原,试了几个工具都这球样,不用浪费时间折腾了。直接看吧,功底好的可以直接看Smali 代码。
    在这里插入图片描述

    可以看到r8 即为想要的值,向上查找r8
    在这里插入图片描述

    其中 com.ss.a.b.a.a() 是重载函数,hook时需要注意下。

    在这里插入图片描述

    贴附一段Frida 代码: 注意overload("")

    在这里插入图片描述

    这块儿的代码是可以正常展示的,很好还原:
    在这里插入图片描述

    接下来到了难点:

    byte[] r0 = com.ss.sys.ces.a.leviathan(r8, r7, r0)

    这个不太好还原, 三个参数:

    在这里插入图片描述

    native 修饰的 leviathan ()函数, 对应的方法体在最早加载的 cms.so 中。

    可以使用ida or jeb 进行查看,会发现没有到处函数,其使用了花指令混淆的加密措施。

    破解难度太大,可以考虑换了一种简单的调用方式进行解决

    优先推荐 : frida-rpc, 实现思路如下: 具体的自行完善

    (我自己使用的java 进行主动调用的,想了解的可以关注后留言,或者微信)

    在这里插入图片描述

    这种方式比较简单,还可以开微服务。

    其中传递进去的参数可以使用frida hook 进行获取

    在这里插入图片描述

    输出结果为:
    在这里插入图片描述

    参数1: -1

    参数2: 十位时间戳(来自url参数中的十三位时间戳)同 x-khronos 相同。

    参数3: post参数的data 部分,就是下图中的r0

    在这里插入图片描述

    参数整理:
    r0 = md5(url) 疑似对网址的参数进行md5

    r13 = x-ss-stub,只有post时才有效,否则是32个0

    r11 = md5(cookie) 对cookie进行md5

    r12 = md5(cookie[‘sessionid’]) 对cookie里面对sessionid进行md5,否则也是32个0

    分享到此:如有工具使用问题、或者需要哪些工具、原始文件等等都可以留言,或者加v。
    转 知乎 @司徒卓异

    展开全文
  • 1.楼主首先使用Fiddler4来抓取手机抖音app这个包,具体配置的操作,网上有很多教程供大家参考。 上面得出抖音的视频的url,这些url均能在网页中打开,楼主数了数,这些url的前缀有些不同,一共有这4种类型: ...

    抖音很火,楼主使用python随机爬取抖音视频,并且无水印下载,人家都说天下没有爬不到的数据,so,楼主决定试试水,纯属技术爱好,分享给大家。。

    1.楼主首先使用Fiddler4来抓取手机抖音app这个包,具体配置的操作,网上有很多教程供大家参考。

    上面得出抖音的视频的url,这些url均能在网页中打开,楼主数了数,这些url的前缀有些不同,一共有这4种类型:

    v1-dy.ixigua.com

    v3-dy.ixigua.com

    v6-dy.ixigua.com

    v9-dy.ixigua.com

     楼主查看这四种类型得知,v6-dy.ixigua.com 这个前缀后面的参数其中有一个是Expires(中文含义过期的意思)

    Expires=1536737310,这个是时间戳,标记的是过期的时间如下图所示,过了15:28分30秒,则表示url不能使用,楼主算了一下,url有效期是一个小时。

    看到这些url,楼主不能手动一个一个粘贴,so楼主需要在+Fiddler4中(在Fiddler4使用script代码网上有大量详细教程)使用如下代码,自动保存到一个txt文档中。

     

     

    复制代码

            //保存到本地添加开始
            
            //这是抖音的地址||"v1-dy.ixigua.com"||"v3-dy.ixigua.com"||"v6-dy.ixigua.com"||"v9-dy.ixigua.com"||
            if (oSession.fullUrl.Contains("v1-dy.ixigua.com")||
                oSession.fullUrl.Contains("v3-dy.ixigua.com")||
                oSession.fullUrl.Contains("v6-dy.ixigua.com")||
                oSession.fullUrl.Contains("v9-dy.ixigua.com")){
                
                var fso;
                var file;
                fso = new ActiveXObject("Scripting.FileSystemObject");
                //文件保存路径,可自定义
                file = fso.OpenTextFile("H:\\Request.txt",8 ,true);
                //file.writeLine("Request-url:" + oSession.url);
                file.writeLine("http://"+oSession.url)
                //file.writeLine("Request-host:" + oSession.host);
                //file.writeLine("Request-header:" + "\n" + oSession.oRequest.headers);
                //file.writeLine("Request-body:" + oSession.GetRequestBodyAsString());
                //file.writeLine("\n");
                file.close();
            }        
            //保存到本地添加结束

    复制代码

     

    把上边的代码插入到如下图所示的地方即可。

     2.上面的url是楼主手动点击一个个刷新抖音app出现的,so楼主使用appium来自动刷新抖音app,自动获得url,自动保存到txt文档中。

     首先需要在appium中得到抖音这个app包的一些用的信息,如下图所示

    楼主使用的是红米手机,至于appium怎么安装配置,大家可参考网上相关教程,appium客户端连接上手机(需要数据线连接)后,在控制台打印出log日志文件,在日志文件中找到这四个参数即可,然后保存

    到appium客户端中即可,就能在appium客户端中操作抖音app。

     {
      "platformName": "Android",
      "deviceName": "Redmi Note5",
      "appPackage": "com.ss.android.ugc.aweme",
      "appActivity": ".main.MainActivity"
    }

    appPackage这一项com.ss.android.ugc.aweme 则表示抖音短视频。

    楼主使用如下代码来实现无限刷新抖音app,前提是需要手机连着数据线连在电脑上并且开启appium客户端的服务和打开Fiddler4抓包(配置好环境手机)。

    复制代码

    from appium import webdriver
    from time import sleep
    
    #以下代码可以操控手机app(抖音)
    class Action():
        def __init__(self):
            #初始化配置,设置Desired Capabilities参数
            self.desired_caps = {
                "platformName": "Android",
                "deviceName": "Mi_Note_3",
                "appPackage": "com.ss.android.ugc.aweme",
                "appActivity": ".main.MainActivity"
            }
            #指定Appium Server
            self.server = 'http://localhost:4723/wd/hub'
            #新建一个Session
            self.driver = webdriver.Remote(self.server, self.desired_caps)
            #设置滑动初始坐标和滑动距离
          self.start_x = 500
            self.start_y = 1500
            self.distance = 1300
    
        def comments(self):
            sleep(3)
            #app开启之后点击一次屏幕,确保页面的展示
            self.driver.tap([(500, 1200)], 500)
        def scroll(self):
            #无限滑动
            while True:
                #模拟滑动
                self.driver.swipe(self.start_x, self.start_y, self.start_x,
                self.start_y - self.distance)
                #设置延时等待
                sleep(5)
        def main(self):
            self.comments()
            self.scroll()
    
    if __name__ == '__main__':
        action = Action()
        action.main()

    复制代码

    楼主运行次代码就能在Fiddler4中得到无限量的url。
    3.楼主拿到url后,会发现有些url会重复,so楼主加入了去重的功能,为了好看楼主也加入了进度条花里花哨的功能,运行代码最终会下载下来。

    复制代码

    # _*_ coding: utf-8 _*_
    import requests
    import sys
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36" }
    
    #去重方法
    def distinct_data():
        #读取txt中文档的url列表
        datalist_blank=[]
        pathtxt='H:/Request.txt'
        with open(pathtxt) as f:
            f_data_list=f.readlines()#d得到的是一个list类型
            for a in f_data_list:
                datalist_blank.append(a.strip())#去掉\n strip去掉头尾默认空格或换行符
        data_dict={}
        for data in datalist_blank:
            #url中以/为切分,在以m为切分   ##把m后面的值放进字典key的位置,利用字典特性去重
            if int(data.split('/').index('m'))==4 :#此处为v6开头的url
                #print(data,44,data.split('/')[5])
                data_key1=data.split("/")[5]
                data_dict[data_key1]=data
            elif int(data.split('/').index('m'))==6: #此处为v1或者v3或者v9开头的url
                data_key2=data.split("/")[7]
                data_dict[data_key2] =data
        #print(len(data_dict),data_dict)
        data_new=[]
        for x,y in data_dict.items():
            data_new.append(y)
        return data_new
    
    def responsedouyin():
        data_url=distinct_data()
        #使用request获取视频url的内容
        #stream=True作用是推迟下载响应体直到访问Response.content属性
        #将视频写入文件夹
        num = 1
        for url in data_url:
            res = requests.get(url,stream=True,headers=headers)
            #res = requests.get(url=url, stream=True, headers=headers)
            #定义视频存放的路径
            pathinfo = 'H:/douyin-video/%d.mp4' % num  #%d 用于整数输出   %s用于字符串输出
            #实现下载进度条显示,这一步需要得到总视频大小
            total_size = int(res.headers['Content-Length'])
            #设置流的起始值为0
            temp_size = 0
            if res.status_code == 200:
                with open(pathinfo, 'wb') as file:
                    #file.write(res.content)
                    #print(pathinfo + '下载完成啦啦啦啦啦')
                    num += 1
                    #当流下载时,下面是优先推荐的获取内容方式,iter_content()函数就是得到文件的内容,指定chunk_size=1024,大小可以自己设置哟,设置的意思就是下载一点流写一点流到磁盘中
                    for chunk in res.iter_content(chunk_size=1024):
                        if chunk:
                            temp_size += len(chunk)
                            file.write(chunk)
                            file.flush() #刷新缓存
                    #############下载进度条部分start###############
                            done = int(50 * temp_size / total_size)
                            #print('百分比:',done)
                            sys.stdout.write("\r[%s%s] %d % %" % ('█' * done, ' ' * (50 - done), 100 * temp_size / total_size)+" 下载信息:"+pathinfo + "下载完成啦啦啦啦啦")
                            sys.stdout.flush()#刷新缓存
                    #############下载进度条部分end###############
                    print('\n')#每一条打印在屏幕上换行输出
    
    
    if __name__ == '__main__':
        responsedouyin()

    复制代码

    运行代码,效果图如下

    视频最终保存到文件夹中

    github地址:https://github.com/Stevenguaishushu/douyin

    https://www.cnblogs.com/stevenshushu/p/9635097.html

    展开全文
  • 以NBA抖音号为起始,首页包括关注数,点赞数和粉丝数(此部分是加密数据,但是fiddler抓包中还有一个是未加密的数据) 加密数据是分享页上的数据,破解方法可以参考这位老哥的...
  • 声明:此贴只做学习交流使用,不得用于违法行为,如触犯刑法,后果自负。...听说抖音新版本的加密措施保护的很是严格,瞬间想皮一下~ 闲话少bb,直接刚~ 1、用到的工具等: Charles (随便一个抓包工具即可,哪
  • 自动爬取抖音视频 自动爬取抖音视频并将结果保存在本地。使用ADB控制手机自动上划拉取视频所以适用安卓设备。 参考下面的说明完成操作,即可开始爬取 实现过程 需求: 爬取视频文件并保存在本地 视频无水印 实现自动...
  • 采集抖音APP的10个经典方法

    千次阅读 2021-07-21 16:13:23
    采集抖音APP的数据、APP数据采集、App用户查询、App数据统计、APP数据抓包、网页爬虫、采集网站数据、网页数据采集软件、一站式网站采集技术、BI数据的数据分析、数据标注等成为大数据发展中的热门技术关键词。...
  • 爬取抖音APP数据

    千次阅读 2019-10-19 16:41:19
    一、准备工作 1、安装抓包工具charles Charles官网https://www.charlesproxy.com/,下载相应系统的Charles安装包,然后一键安装即可。 详细配置可以查看...2.安装mitmproxy和mitmdump ...
  • 某音APP数据爬虫——个人粉丝视频 学习分享,勿触底线。 爬虫分为三个部分: 1、个人数据:利用分享页,获取id,粉丝数,点赞数等信息 2、粉丝数据:利用模拟器 + appium + mitmdump,自动化获取粉丝数据 3、视频...
  • 抖音商品信息爬虫

    千次阅读 2021-07-18 13:28:03
    我们的爬取目标是App内商品板块内的商品公开数据。我们要把商品的产地、价格以及销量爬取下来。 2、准备工作 (1)安卓模拟器(或一部手机)配置 1、手机需开启root权限(有变砖风险),root后配置方法与夜神模拟器...
  • Python爬取手机APP数据(抖音

    千次阅读 2021-03-25 10:02:31
    (4)、安卓模拟器/手机安装上抖音   一、fiddler配置 在tools中的options中,按照图中勾选后点击Actions 配置远程链接: 选择允许监控远程链接,端口可以随意设置,只要别重复就行,默认8888 然后:...
  • 从今年初开始抖音更新后,抖音app就无法普通的通过配置fiddler抓包了,经过百度发现原来是用了ssl pinning技术 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例...
  • 爬取抖音APP数据最新版

    千次阅读 2020-05-17 12:00:27
    1、方案 Charles抓包、appium自动化、mitmproxy处理响应数据、...不这样做,打开抖音APP会没网 2.1、手机配置代理,自行百度 3、附上代码 3.1、spider.py 爬虫代码 from pymongo import MongoClient from mi.
  • 抖音App逆向分析

    2021-12-31 15:31:24
    可出性别年龄,不用账号,不封IP,采集源码联系q:2018520640
  • 抖音爬虫原理大揭秘

    2021-05-17 11:02:04
    声明: 本文只做技术研究,请勿用于任何非法用途。 最近有不少小伙伴投入短视频...以抖音 APP 为例,我们从抖音上看视频,和我们从浏览器上访问网站原理是一样的。 都是通过标准的 HTTP 请求来交互。 那么什么是 H..
  • 抖音爬虫从0到1-第二弹:获取抖音用户数据 文章目录前言一、分析请求用户数据的api1. 用户数据抓包2. 用户数据包分析2.1. 首先我们看一下请求头二、获取用户数据1.构造请求api2. 获取用户数据到文件3.完整代码2....
  • 1.楼主首先使用Fiddler4来抓取手机抖音app这个包,具体配置的操作,网上有很多教程供大家参考。上面得出抖音的视频的url,这些url均能在网页中打开,楼主数了数,这些url的前缀有些不同,一共有这4种类型:v1-dy....
  • 抖音用户视频爬虫案例(2020)

    千次阅读 多人点赞 2020-05-06 12:50:44
    文章目录抖音分享页面抖音视频sign值生成运行环境:Code:抖音无水印视频 抖音分享页面 之前有相关文章介绍了分享页面的抓取和sign值的生成。要看详细方法可点击下方链接。 本篇文章主要是说一下最新生成sign值的...
  • 抖音话题爬虫之环境对比 (一) 环境一: Android 10 (lineage OS系统) magisk 22.1 (目前最新) edxposed(直接在magisk里面下载) 10.5.0 版本APP 抓包 : 请求参数值: POST ...
  • 抖音app协议逆向分析

    万次阅读 2021-08-29 22:13:37
    抖音app(app下载连接) jadx github地址 fiddler frida github地址 一台root好的android7.0手机 本次主要演示抓取某个话题下的数据 没有图片的话是将图片过滤掉了,这样加载会更快 先抓包 话题首页 GET ...
  • 抖音App评论进行抓取

    千次阅读 热门讨论 2020-08-13 11:51:39
    抖音某条视频下所有评论内容进行抓取 直接上代码 import json def response(flow): # 通过抓包软包软件获取请求的接口 if '/aweme/v2/comment/list' in flow.request.url: # 数据的解析 data = json.loads...
  • python3APP爬虫--爬取抖音用户信息(附源码)

    千次阅读 热门讨论 2020-11-04 17:54:56
    抖音,xposed框架(安装xposed禁止ssl证书验证,需要在root下操作) (2)夜神模拟器(7.0.0.6) 2.解析工具: (1)Python3.6 JetBrains PyCharm 2018.2.2 x64 3.存储工具 (1)csv文件存储 二.抓取方法: (一)...
  • 所以参考了很多教程,自己写了一个专门爬主播数据的爬虫。系统是Windows 10,时间2021年1月12号。用这种方法略做修改基本可以爬取抖音所有数据,有兴趣的欢迎交流。v: dayuchixiaoyu2021 一. 工具 必备 MitmProxy...
  • AwemeSDK 0....关键词搜索用户 result = sdk.SearchUsers('热巴') 2.关键词搜索视频 result = sdk.SearchVideos('热巴') 3.... [DouYinSDK 抖音爬虫数据采集福音]http://www.zyiz.net/tech/detail-103189.html
  • 抖音爬虫从0到1-第一弹:环境配置 前言 因为最终目的是要抓取抖音视频数据,而通过抓包发现请求抖音的视频数据都需要对应用户的sec_id,这个加密的id的生成过程我们是不知道的,但是我们可以从抖音用户的数据包中...
  • APP抓包前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取。现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视频就没法批量抓取了吗?...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,462
精华内容 584
关键字:

抖音app爬虫

友情链接: ctex宏基手册.zip