吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15819|回复: 49
上一主题 下一主题
收起左侧

[Python 转载] 分享两个抖音的官方接口[查用户信息/作品解析],快手

  [复制链接]
跳转到指定楼层
楼主
ermao 发表于 2020-9-13 14:11 回帖奖励
本帖最后由 ermao 于 2020-9-23 19:24 编辑

话说

之前的那俩软件是更新不了了,抖音的官方网页接口不给数据了,快手的一直访问频繁,所以,勿催。

前段时间抓了两个抖音的接口,一个是官方好像开放了新的解析接口,另一个是自己瞎拼接测试出来一个未公开的查用户信息的接口,一起分享给大家。
其实还抓了两个快手的接口,但是发现需要网页端的cookie(web_did),需要手动打码获取,失效很快还是解决了did的问题,也做了个接口,就不发了。

代码放到阿里云的函数计算,可以直接托管到公网(腾讯云的云函数还需要自己配置API网关),对于一些需要手动触发的云函数很方便,前不久才知道,安利一下。

代码

'''
# -*- encoding: utf-8 -*-
@ file    :   douyin.py
@ Time    :   2020年09月13日 13:59:59 星期天
@ AuThor  :   ermao
@ version :   1.0
@ link    :   https://erma0.gitee.io
@ Desc    :   抖音相关接口
'''
import requests
import re

headers = {
    'User-Agent':
    'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Mobile Safari/537.36'
}

def user_info(uid):
    url = 'https://www.iesdouyin.com/web/api/v2/user/info/?uid=' + uid
    try:
        r = requests.get(url).json()
        info = r['user_info']
        # [print(i, v) for i, v in info.items() if not v]  # 删除null/false
        return info
    except Exception:
        return {'error': '出错了!'}

def user_info_url(url):
    if 'share/user/' in url:
        id = re.findall(r'share/user/(\d+)\??', url)[0]
    else:
        try:
            r = requests.head(url, headers=headers, allow_redirects=False)
            id = re.findall(r'share/user/(\d+)\??', r.headers['Location'])[0]
        except Exception:
            return {'error': 'URL错误!'}
    return user_info(id)

def parse_by_url(url):
    if '/share/video/' in url:
        id = re.findall(r'share/video/(\d+)/?\??', url)[0]
    else:
        try:
            r = requests.head(url, headers=headers, allow_redirects=False)
            id = re.findall(r'share/video/(\d+)/?\??',
                            r.headers['Location'])[0]
        except Exception:
            return {'error': 'URL错误!'}
    return parse_by_id(id)

def parse_by_id(id):
    url = 'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=' + id
    try:
        r = requests.get(url).json()
        video = r['item_list'][0]
        return video
    except Exception:
        return {'error': '出错了!'}

if __name__ == "__main__":
    # a = user_info_url('https://v.douyin.com/JBknYQp/')
    # a = user_info('72673737181')
    a = parse_by_url('https://v.douyin.com/JBBebxv/')
    # a = parse_by_id('6808453751930719502')
    print(a)

免费评分

参与人数 6吾爱币 +7 热心值 +5 收起 理由
tianrandai + 1 + 1 谢谢@Thanks!
zui拆楼专家 + 1 大佬快更新
众益科技 + 2 + 1 大神什么时候更新软件呢?
geniusrot + 1 谢谢@Thanks!
U2020 + 1 我很赞同!
苏紫方璇 + 3 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 #
 楼主| ermao 发表于 2020-9-23 19:29 |楼主
把代码放到阿里云搭建了个API,又在GiteePages部署了静态网页,做了个在线解析的,有需要的可以借鉴一下哈,真·无服务器实践,挺有意思的。
http://erma0.gitee.io/v/dy.html
推荐
geniusrot 发表于 2020-9-13 19:47
ermao 发表于 2020-9-13 19:15
那不清楚,总之下载浏览器打开主页都不显示作品列表了,不管这个了。
参数就是数字作品ID,最下面有例子

欧,反应过来了,这个是抖音单个视频的接口。和用户信息一样,很久以前就有了。打开F12。刷新,选XHR就能直接看到这两个接口

沙发
cj13888 发表于 2020-9-13 14:22
3#
dunniu 发表于 2020-9-13 14:38
有啥用,怎么用??
4#
小小三毛 发表于 2020-9-13 15:14
小白一名,不知道怎么用。打酱油的路过
5#
seeyou_shj 发表于 2020-9-13 15:21
不知道怎么用。打酱油的路过
6#
feichedang 发表于 2020-9-13 15:26
小白一枚,期待成品
7#
simida11 发表于 2020-9-13 15:28
小白一名,不知道怎么用。打酱油的路过
8#
samary1999 发表于 2020-9-13 15:37
学习一下
9#
flow_one 发表于 2020-9-13 15:46
emmm 还以为大佬发新版了呢.
10#
hbxtzkm 发表于 2020-9-13 15:51
习惯拿成品
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 19:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表