精华内容
下载资源
问答
  • 抖音数据采集接口

    千次阅读 2020-11-04 10:22:56
    7.获取抖音用户作品(抖音用户视频)数据信息接口 8.获取抖音用户动态数据信息接口 9.获取抖音用户关注用户列表数据信息接口 注意:关注列表请求太频繁会导致不返回数据 10.获取抖音用户粉丝列表数据信息接口 11.获取...

    最新版抖音数据采集接口,历时15天终于完成

    最近重新开发了一套抖音采集程序,目前提供如下接口。

    1.抖音综合搜索数据信息接口

    2.抖音视频搜索数据信息接口

    3.抖音用户信息搜索数据信息接口

    4.获取抖音首页推荐列表数据信息接口

    5获取抖音对应城市的推荐列表数据信息接口

    6.获取抖音用户信息数据信息接口

    7.获取抖音用户作品(抖音用户视频)数据信息接口

    8.获取抖音用户动态数据信息接口

    9.获取抖音用户关注用户列表数据信息接口 注意:关注列表请求太频繁会导致不返回数据

    10.获取抖音用户粉丝列表数据信息接口

    11.获取抖音评论列表数据信息接口

    。。。。。其他接口不一一写在博客。

    1.用户数据字段如下

    uid,抖音号,性别(1男;2女),头像链接,获赞总数,关注数,粉丝数,作品数,动态数量,V认证标标识,签名,微博url,抖音名称,省份,城市,二维码连接分享链接,生日,国家,认证名称,是否有链接到头条(1有),学校名字

    2.用户视频数据字段如下:

    用户uid,视频id,视频描述,视频上传时间,视频播放地址,视频评论数,视频喜欢数量,转发数量,下载数量,视频所在地理位置名称,所在国家,所在省份,所在城市,视频封面图链接,视频下载地址,音乐id,音乐名称,音乐作者,音乐播放地址

    3.用户粉丝数据字段如下:

    uid,抖音号,性别(1男;2女),头像链接,获赞总数,关注数,粉丝数,作品数,动态数量,V认证标标识,签名,微博url,抖音名称,省份,城市,二维码连接分享链接,生日,国家,认证名称,是否有链接到头条(1有),学校名字.、

    数据不一 一展示了

    已经做了好多次前前后后搞了快两年,基本能蛮快找到算法问题,成就感爆棚

    欢迎大家和我交流测试

    展开全文
  • 抖音用户搜索接口

    万次阅读 热门讨论 2019-09-11 14:28:27
    后面有搜索用户的POST接口,可以获取到用户id,以便尽一步操作。 搜索相关用户接口: 复制链接,浏览器访问。 所以可以根据刚的链接,来自定义我们需要搜索的关键词。 例如: ...

    我还是通过手机模拟器来进行抓包。下面这个是get请求搜索接口,返回的是相关搜索信息。
    只是一个简单的介绍。后面有搜索用户的POST接口,可以获取到用户id,以便尽一步操作。

    搜索相关用户的接口:

    在这里插入图片描述

    在这里插入图片描述
    点击使用浏览器访问。

    在这里插入图片描述
    所以可以根据刚的链接,来自定义我们需要搜索的关键词。
    例如: https://aweme-hl.snssdk.com/aweme/v1/search/sug/?keyword=朱一龙
    在这里插入图片描述

    搜索用户的POST接口:

    输入用户名,点击搜索。通过抓包可以看到有一条post请求,返回了用户列表的数据。
    携带的post参数有:cursor=0&keyword=%E9%9E%A0%E5%A9%A7%E7%A5%8E 等等。

    但是这个post接口的params中有一些变动的,比如有一个时间戳等等。
    在这里插入图片描述
    我们把数据格式化后来查看一下。

    在这里插入图片描述

    发现可以得到一个uid。而这个uid就是我之前一篇文章中,通过分享页面采集用户数据 所需要的id。
    链接抖音用户信息采集案例

    在这里插入图片描述

    在这里插入图片描述
    APP搜索在请求时需要携带xgorgon参数,该参数生成方法可参考:

    https://blog.csdn.net/weixin_43582101/article/details/108012579


    网页版上线了,可以通过网页接口完成一系列采集任务。

    网页版sign生成:https://blog.csdn.net/weixin_43582101/article/details/118084709

    在这里插入图片描述

    展开全文
  • 后面还有很多地方优化总结)公众号回复:抖音即可获取源码1、APP抓包教程,需要用到fiddlerfiddler配置和使用查看>>王者荣耀盒子APP抓包配置方法2、寻找返回用户aweme_count和uid数据接口进入我关注的抖音用户主页...

    本文讲述爬取抖音APP视频数据(本文未完,后面还有很多地方优化总结)

    公众号回复:抖音

    即可获取源码

    1、APP抓包教程,需要用到fiddler

    fiddler配置和使用查看>>王者荣耀盒子APP抓包配置方法

    2、寻找返回用户aweme_count和uid数据的接口

    进入我关注的抖音用户主页,找到用户的抖音号并记录下来,该抖音号为unique_id(unique_id区别于uid)

    用户主页有如下数据:如图所示

    注:该页面并没有返回我们需要的uid数据,需要通过如下方式搜索,在另外一个页面抓包才能获取

    抖音主页点击搜索图标

    输入用户主页获取到的unique_id值,并点击搜索

    进入该页面,切换到用户栏,该页面会返回我们需要的数据和接口

    fiddler抓包,该接口返回我们需要的两个参数,作品数aweme_count和用户uid

    上代码,input输入的为用户主页的unique_id,传入下面的方法中

    拿到unique_id,我们请求接口,提取我们需要的数据aweme_count和uid,并打印成功,这一步结束

    注:本网站为HTTPS加密,需要加verify=False参数,并要加headers

    3、接下来寻找视频播放页面接口

    手机切换到用户主页,会出现我们需要抓包的接口,因为用户主页有视频,自然接口在这里面

    抓包,成功抓到下面图中所示的share_url接口,该接口需要我们传2个参数,就是上一步我们获取到的aweme_count和uid

    注:share_url并不是最终我们真正下载视频的接口,需要对share_url返回的数据进一步提取,才能找到真正的视频接口

    上代码,但该接口测试一些发现有些不方便用,经查阅网上一些资料,发现需要用到抖音之前的老接口,如代码中所示

    这里获取得到的video_urls是一个假的视频接口,需要进一步提取真的视频接口

    将video_urls传进下载视频的方法中,中间我调用了get_download_url方法,进一步提取真正的视频接口

    提取真正视频接口,通过get请求假接口,在返回的一大坨响应中通过正则匹配提取

    这里简单截图了两个视频接口的区别,这幅图是假的视频接口,虽然也有视频,但并不是真正的

    下面这个才是我们真正的视频接口,整个页面只有一个视频,直接下载视频数据

    至此,抖音爬取告一段落,还遗留两个问题,尚未完全搞出来

    1、如何获取所有用户的抖音unique_id,而不必手动每次去查看后输入

    2、如何去水印

    这两个问题也已经尝试,没有那么容易,有兴趣的同学欢迎测试,有思路欢迎探讨

    欢迎添加好友学习探讨,备注(CSDN)

    ---------------------

    作者:python爬虫人工智能大数据

    来源:CSDN

    原文:https://blog.csdn.net/weixin_41666747/article/details/80501923

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 抖音爬虫入门,Appium+Mitmproxy强势组合实现抖音数据爬取 APP爬虫入门,Appium+Mitmproxy强势组合实现抖音数据爬取 接口请求参数和返回数据更多信息请点击查看接口文档 最近一直在研究APP的爬虫实现。我们就...

    抖音爬虫入门,Appium+Mitmproxy强势组合实现抖音的数据爬取

    APP爬虫入门,Appium+Mitmproxy强势组合实现抖音的数据爬取

    最近一直在研究APP的爬虫实现。我们就以最火的抖音为例子做一个演示例程。当然我们选择抖音并不是因为抖音火,主要是因为手上有一个小项目是基于抖音APP的,这个是后话🤭。
    抓包APP思路和网页抓包是一个道理。最简单和效率最高的的方式通过直接分析网页请求。通过构造网页请求模拟发送取得返回值,从返回数据提取出需要的字段。这和网页抓包的思路是一样的。难点就在于网页抓包的请求参数构造都可以通过分析JS在脚本中模拟出来。但是对于APP而言,请求的参数构造是在APP内部进行的,我可没有像逆向大神的能力可以逆向APP,所以这条路行不通😔。这也是我们需要通过Appium的主要原因。对比起来这和不会分析JS而使用Selenium完全是一个道理啊( ﹁ ﹁ ) ~→。

    实现目标

    既然是入门例程,那么例子就相对简单,只是对这几天的学习做一个大概的总结。即便是这样我们也要实现一定的功能,不然一些毫无意义的代码只是浪费时间。那让我来🤔想想实现什么功能呢?重复的轮子我们不造,前段时间抓取抖音漂亮小姐姐的文章很火,当然我们才不要模仿他。有了,就试着写一个爬取指定抖音用户的粉丝的爬虫吧,顺便调用百度AI接口完成对粉丝颜值的打分!
    显而易见,通过用户的头像对用户进行打分是一个很愚蠢的行为。大部分的粉丝并不是用自己的照片作为头像,甚至很多人的头像都不是人。所以这个功能就显得十分鸡肋。总之思路有了,有需要的朋友可以给数据增加更多的权重判断,来提高精准度。例如说:粉丝数量,收到的点赞数等等…一般这些数据都与博主的颜值都是正相关的,毕竟这确实是一个看脸的时代。
    思路分析
    通过appium进入指定用户的粉丝页面->自动执行遍历粉丝操作。然后mitmproxy作为中间人拦截,对返回的数据包进行处理,调用百度的人脸识别库对图像进行甄别。数据标注保存。思路很清晰,代码也很清晰,因为手头上没有真机,这个教程选择在虚拟机上测试,在虚拟机上速度肯定是要大打折扣的。
    开发环境的搭建有点繁锁,不懂的可以看看之前的文章,有较为详细的介绍。但是真正的业务代码是真的挺简单的。这也是Python强大的体现,拥有庞大的第三方支持库。

    代码实现


    大致业务流程


    环境支持:Python 3.6.5、Appium、MitmProxy
    支持库:requests,Appium-Python-Client,mitmproxy (用pip install XXX依次安装即可)

    虚拟机环境:Genymotion,Android 5.1.1

    抖音版本:Ver 6.3.0

    最后提取的数据以Json格式保存,每一条数据包括四个字段,分别是:shortid(抖音号)nickname(昵称)uid(抖音用户内部主键)beauty(颜值)。第四个值有很大的不确定性,因为代码实现的并不完美,有需求的可以根据自己实际情况修改,本文章之作入门学习使用。代码主要分为两个只要模块,一个Appium控制手机,一个Mitmproxy抓取数据,我们分两个部份讲解代码。但是分析代码之前需要简单的介绍一下Mitmproxy。
    MitmProxy的简易教程
    mitmproxy 就是用于 MITM 的 proxy,MITM 即中间人攻击(Man-in-the-middle attack)。用于中间人攻击的代理首先会向正常的代理一样转发请求,保障服务端与客户端的通信,其次,会适时的查、记录其截获的数据,或篡改数据,引发服务端或客户端特定的行为。不同于Fiddler等抓包工具,mitmproxy不仅可以截获请求帮助开发者查看、分析,更可以通过自定义脚本进行二次开发。mitmproxy的python支持库可以让我在Python中截获数据包,这也是本次爬虫的基础。
    关于mitmproxy的使用这次爬虫会给一个小小的教程,但是详细的教程还要自己去Mitmproxy的Github仓库查看,官方给了完整的examples,从简入繁,很适合新手学习。对于看英文文档有困难的同学,我同样找到一篇国内大神总结的文章:使用 mitmproxy + python 做拦截代理-狼煞博客,一篇总结的很到位的入门教程,先弄懂了工作原理再去看官方例程会有种茅塞顿开的感觉。


    Appium部份

    Appium需要实现的效果


    def init_device():
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['udid'] = "192.168.13.107:5555"
        desired_caps['deviceName'] = "second"
        desired_caps['platformVersion'] = "5.1.1"
        desired_caps['appPackage'] = 'com.ss.android.ugc.aweme'
        desired_caps['appActivity'] = 'com.ss.android.ugc.aweme.main.MainActivity'
        desired_caps["unicodeKeyboard"] = True
        desired_caps["resetKeyboard"] = True
        desired_caps["noReset"] = True
        desired_caps["newCommandTimeout"] = 600
        device = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
        device.implicitly_wait(3)
        return device
    def move_to_fans(device):
        # 进入搜索页面搜索抖音号并进入粉丝页面
        device.find_element_by_id("com.ss.android.ugc.aweme:id/au1").click()
        device.find_element_by_id("com.ss.android.ugc.aweme:id/a86").send_keys(AIM_ID)
        device.find_element_by_id("com.ss.android.ugc.aweme:id/d5h").click()
        device.find_elements_by_id("com.ss.android.ugc.aweme:id/cwm")[0].click()
        device.find_element_by_id("com.ss.android.ugc.aweme:id/adf").click()
    def fans_cycle():
        fans_done = []
        while True:
            elements = device.find_elements_by_id("com.ss.android.ugc.aweme:id/d9x")
            all_fans = [x.text for x in elements]
            if reduce(lambda x, y: x and y, [(x in fans_done) for x in all_fans]) and fans_done:
                print("遍历结束, 将会终止session")
                break
            for element in elements:
                if element.text not in fans_done:
                    element.click()
                    time.sleep(2)
                    device.press_keycode("4")
                    time.sleep(1)
                    fans_done.append(element.text)
                    print(element.text)
            device.swipe(600, 1600, 600, 900, duration=1000)
            if len(fans_done) > 30:
                fans_done = fans_done[10:]
    

    Appium主要的职责是通过抖音号搜索用户,然后进入用户的粉丝页面,通过fans_cycle方法遍历整个粉丝列表。在遍历粉丝的时候APP会向服务器发送数据包,我们只需要在mitmproxy处理函数拦截response数据,对数据进行自定义修饰就行了。
    注意:测试发现不同的抖音版本的elements ID都是不同的,所以上述的代码不具有普遍性,或许需要重新用Appium获取元素ID。
    代码中标注的几行代码是做粉丝页面是否到底的判断处理。这里有必要解释一下,因为代码写的实在是太抽象了。我的思路是创建一个临时列表用于存储已经遍历过的粉丝,当取到一页粉丝的数据都在这个临时列表的时候即表明:该页数据没有刷新,就证明页面已经到底啦。这时就可以把循环终止掉了。但是在循环第一次执行的时候,两个列表都是空的,我们需要增加一个判空操作。reduce函数做的就是新取的数据是否全部存在于这个临时列表,成立为真,否则为假。这个临时列表会在每次循环做一次切片操作,保证长度不超过30,节约系统内存。
    这个判断并不是很好理解,但是思想确实很简单的,Python语言的精炼也体现出来了,如果这个是Java的话我也许要写几十行才能完成这个相同的需求。总之一句话:人生苦短,我用Python
    Mitmproxy部份
    这部分包括了数据拦截和百度API调用。通过拦截抖音的数据包请求进行过滤,找出用户详情的数据包截获response数据请求。因为返回的数据都是Json类型,所以在Python内十分容易解析。我们需要的四个字段都在数据包里,其中抖音号可能为空。对于用户颜值打分,我们统一使用用户的高清大图头像。

    import mitmproxy.http
    import json
    from spider.api.baidu import FaceDetect
    from lib.shortid import Short_ID
    face = FaceDetect()
    spider_id = Short_ID()
    class Fans():
        def response(self, flow: mitmproxy.http.flow):
            if "aweme/v1/user/?user_id" in flow.request.url:
                user = json.loads(flow.response.text)["user"]
                short_id = user["short_id"]
                nickname = user['nickname']
                uid = user["uid"]
                avatar = user["avatar_larger"]["url_list"][0]
                beauty = face(avatar)
                short_id = spider_id(uid) if short_id == "0" else short_id
                data = {
                    "short_id": short_id,
                    "nickname": nickname,
                    "uid": uid,
                    "beauty": beauty
                }
                print(data)
    

    百度AI人脸识别,由于比较简单,可以通过API文档编写出我们需要的代码,这里就不做太多的赘述了(文档地址),这里贴出我的请求代码供有需要的朋友学习。由于用户头像中可能不止有一张人脸,所以我们对多张人脸图像做了平均颜值处理,得出的颜值数据为平均值,保留四位小数。注意:如果颜值为0并不代表非常ugly,或许是头像中没有人脸,或者是api请求达到请求上限,请结合实际做出判断,有需要的可以自行完善代码。

    import requests
    import json
    class FaceDetect():
        def __init__(self):
            self.ak = "百度acess_key"
            self.sk = "百度secret_key"
            self.token = self.__access_token()
        def __access_token(self):
            url = 'https://aip.baidubce.com/oauth/2.0/token?' \
                  'grant_type=client_credentials&client_id={}&client_secret={}'.format(self.ak, self.sk)
            headers = {'Content-Type': 'application/json; charset=UTF-8'}
            req = requests.get(url, headers=headers)
            token = json.loads(req.text)["access_token"]
            return token
        def __face_detect(self, pic):
            url = "https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token={}".format(self.token)
            params = {
                "image": pic,
                "image_type": "URL",
                "face_field": "age,beauty,expression,gender,face_shape,emotion",
                "max_face_num": "10"
            }
            req = requests.post(url, params=params)
            return req.text
        def __average_beauty(self, data):
            if data["error_code"] == 0:
                average_beauty = []
                for face in data["result"]["face_list"]:
                    average_beauty.append(face["beauty"])
                return "{:.4f}".format((sum(average_beauty) / len(average_beauty)))
            return 0
        def __call__(self, url):
            r = self.__face_detect(url)
            data = json.loads(r)
            return self.__average_beauty(data)
    


    运行输出效果图


    接口请求参数和返回数据更多信息请点击查看接口文档


    总结

    总的来说这个文章涉及的知识还是蛮多的,需要慢慢消化。

    展开全文
  • 相关文章: 抖音 x-gorgon 03 免费生成接口 抖音爬虫从0到1-第一弹:环境配置 前言 因为最终目的是要抓取抖音视频数据,而通过抓包发现请求抖音的视频数据都...这一篇文章我将介绍抖音用户数据爬取。 如果实践过程中
  • 抖音为例,我们想要抓取抖音的热点榜数据。要知道,这个数据是没有网页版的,只能从手机端下手。首先我们要安装charles抓包APP数据,它是一款收费的抓包修改工具,易上手,数据请求容易控制,修改简单,抓取数据的...
  • 抖音举办美妙之夜,我就很好奇的记录一下:如何用python爬取app数据。这里,小编就以爬取抖音视频app为例。编程工具:pycharmapp抓包工具:mitmproxyapp自动化工具:appium运行环境:windows10思路:假设已经配置好...
  • 抖音协议、抖音爬虫,接口分析,搜索、同城推荐、同城推荐、粉丝列表等等 抖音搜索接口 接口名 类型 链接 搜索用户综合信息 post https://aweme-hl.snssdk.com/aweme/v1/challenge/search/? 搜索相关用户...
  • 抖音用户粉丝列表Api: 请求Api http://主机地址/douyin/user/followers?token=xxx&uid=100000004548&cursor=0 请求方式 GET 短视频直播数据采集接口SDK请点击查看接口文档 参数 字段 类型 说明 ...
  • 看图很容易就发现,抖音的登录接口把手机号和密码参数加密了。 可以看到下面的截图,就是登录成功后的信息: 登录成功返回数据。set-cookie中的值都需要保存,后续操作评论接口或者评论接口都需要提交这些cookie,来...
  • 抖音用户视频列表接口分析 1、从抖音 APP 分享个人信息,复制链接,获得个人主页地址,示例: https://www.iesdouyin.com/share/user/96956380265 ​ 2、使用 Chrome 抓包,获取视频列表接口的请求信息 数据采集...
  • 因为php是十分流行的web编程语言,因此用php写了一个抓取抖音用户数据的程序。 调用接口: http://jianhaozhan.cn/getDyCom.php?aweme_id=6816607819614145804&cursor=20 aweme_id=6816607819614145804,这个是不同...
  • 抖音爬虫从0到1-第二弹:获取抖音用户数据 文章目录前言一、分析请求用户数据的api1. 用户数据抓包2. 用户数据包分析2.1. 首先我们看一下请求头二、获取用户数据1.构造请求api2. 获取用户数据到文件3.完整代码2....
  • 抖音短视频数据爬取实战系列(三)——Fiddler爬取抖音用户详细信息数据
  • 抖音短视频爬取实战,抖音接口数据采集教程 需求 爬取用户抖音号、粉丝数、关注数、点赞数 数据采集接口请求参数和返回数据更多信息请点击查看接口文档 目的: 某公司做生鲜电商平台,这个公司平台想在流量平台...
  • 抖音视频搜索接口/douyin/search/videos,数据采集教程 我这里使用模拟器抓的包,params里面有设备信息:device_type、device_brand、device_platform、device_id DEVICEID可唯一标识一个存储设备,搜索接口基于该...
  • 修改 device_id 参数 4长视频下载问题:长视频下载在分享链接爬取不到(我是没找到),app里可以看到,但是videoid不一样,app的加密不好破解,所以暂时长视频只能下载前20秒 5修改抖音获取视频列表接口,...
  • 抖音数据采集教程,Unicorn 模拟 CPU 调用 Native 函数,2021抖音用户数据分析 接口 内存相关 uc_mem_map uc_mem_read uc_mem_write 寄存器相关 uc_reg_read uc_reg_write 指令执行类 UC_HOOK_INTR UC_HOOK_...
  • 抖音协议、抖音接口批量评论技术探讨 1、抓包获取评论API POST /aweme/v1/comment/publish/?manifest_version_code=750&_rticket=1585579972079&app_type=normal&iid=109603465232&channel=...
  • 抖音APP接口分析

    万次阅读 多人点赞 2020-05-08 16:44:44
    抖音搜索接口 接口名 类型 链接 抖音搜索接口 post https://aweme-hl.snssdk.com/aweme/v1/challenge/search/? query string parameters 参数:(链接上的附加参数) params = {'update_version_code': '...
  • 抖音快手最新数据采集全套接口

    千次阅读 2020-12-10 12:03:04
    关于抖音和快手最新数据采集接口python交流 关于抖音接口这块,一直在研究,一直在学习,前后大概有一年半接近两年,接触到的问题也会比较多,其中的难点目前已经解决。 现有接口如下: 1.获取粉丝列表 2.获取关注...
  • 抖音视频数据抓取

    千次阅读 2020-05-25 17:05:59
    最近经常有人问我抓取抖音视频的数据,问我一些很小白的问题,算法给他也不会用。 还是先抓包,获取需要的接口和参数,相关的算法在其它文章里面有描述。 搜索个视频看看 查看抓的包信息: 可以看到,这里是post请求...
  • 抖音视频搜索接口数据采集教程 我这里使用模拟器抓的包,params里面有设备信息:device_type、device_brand、device_platform、device_id DEVICEID可唯一标识一个存储设备,搜索接口基于该参数做有一定的请求限制...
  • 抖音 xgorgon 0408 数据加密算法 hook 逆向分析记录,抖音接口抖音API 抖音xgorgon算法用ollvm混淆了,主要是流程平坦化,流程混淆和运算替换。 X-Gorgon是对cookie,X-SS-STUB,X-Khronos,Url进行混合加密之后的...
  • 抖音视频数据采集 (2021)

    万次阅读 多人点赞 2021-03-02 18:24:23
    抖音分享页面,用户视频数据。 之前分享页面不给展示数据了,我今天发现又可以用了,然而之前的signature值生成已经不适用于新版的sign。 本文简述生成方法,文末提供生成代码。采集方案仅以学习为目的,禁止滥用。 ...
  • 抖音API接口数据采集教程,抓包、Hook,逆向神器 frida 介绍 frida是啥? 首先,frida是啥,github目录Awesome Frida这样介绍frida的: Frida is Greasemonkey for native apps, or, put in more technical terms, ...
  • 一周前,多闪、马桶 MT 和聊天宝三款社交 ...所以多闪在一开始势必会通过抖音导入数据,那么作为技术人的我会关心这样一个问题:多闪如何从抖音获取用户数据? 有些技术朋友可能会说:这个问题有什么好讨论的呢,不...

空空如也

空空如也

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

抖音用户数据接口