GithubHelp home page GithubHelp logo

evil0ctal / douyin_tiktok_download_api Goto Github PK

View Code? Open in Web Editor NEW
7.6K 59.0 1.2K 8.56 MB

🚀「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步抖音、快手、TikTok、Bilibili数据爬取工具,支持API调用,在线批量解析及下载。

Home Page: https://douyin.wtf

License: Apache License 2.0

Procfile 0.01% Python 98.40% Dockerfile 0.31% Shell 1.29%
python pywebio tiktok douyin api scraper fastapi no-watermark online-parsing async

douyin_tiktok_download_api's Introduction

Douyin_TikTok_Download_API(抖音/TikTok API)

English | 简体中文

🚀「Douyin_TikTok_Download_API」是一个开箱即用的高性能异步抖音|TikTok|Bilibili数据爬取工具,支持API调用,在线批量解析及下载。

GitHub license Release Version GitHub Star GitHub Fork GitHub issues GitHub closed issues GitHub Repo size
PyPI v PyPI wheel PyPI dm PyPI pyversions
API status TikHub-API status
爱发电 Kofi Patreon

👻介绍

🚨如需使用私有服务器运行本项目,请参考:部署准备工作, Docker部署, 一键部署

本项目是基于 PyWebIOFastAPIHTTPX,快速异步的抖音/TikTok数据爬取工具,并通过Web端实现在线批量解析以及下载无水印视频或图集,数据爬取API,iOS快捷指令无水印下载等功能。你可以自己部署或改造本项目实现更多功能,也可以在你的项目中直接调用scraper.py或安装现有的pip包作为解析库轻松爬取数据等.....

一些简单的运用场景:

下载禁止下载的视频,进行数据分析,iOS无水印下载(搭配iOS自带的快捷指令APP 配合本项目API实现应用内下载或读取剪贴板下载)等.....

🔊 V4 版本备注

  • 感兴趣一起写这个项目的给请加微信Evil0ctal备注github项目重构,大家可以在群里互相交流学习,不允许发广告以及违法的东西,纯粹交朋友和技术交流。
  • 本项目使用的X-Bogus算法依旧可以正常调用Douyin以及TikTok的API,A-Bogus算法暂时不会开源。
  • 由于Douyin的风控,部署完本项目后请在浏览器中获取Douyin网站的Cookie然后在config.yaml中进行替换。
  • 请在提出issue之前先阅读下方的文档,大多数问题的解决方法都会包含在文档中。
  • 本项目是完全免费的,但使用时请遵守:Apache-2.0 license
  • 本项目有一个闭源的分支版本,包含更多的接口和服务,详情请查看下方的信息。
  • Discord: TikHub Discord
  • Free Douyin/TikTok API: TikHub Beta API

🖥演示站点: 我很脆弱...请勿压测(·•᷄ࡇ•᷅ )

😾演示站点的在线下载功能已关闭,并且由于Cookie原因,Douyin的解析以及API服务在Demo站点无法保证可用性。

🍔Web APP: https://douyin.wtf/

🍟API Document: https://douyin.wtf/docs

🌭TikHub API Document: https://api.tikhub.io/docs

💾iOS Shortcut(快捷指令): Shortcut release

📦️桌面端下载器(仓库推荐):

⚗️技术栈

/crawlers

  • 向不同平台的API提交请求并取回数据,处理后返回字典(dict),支持异步。

/app/api

  • 获得请求参数并使用Crawlers相关类处理数据后以JSON形式返回,视频下载,配合iOS快捷指令实现快速调用,支持异步。

/app/web

  • 使用PyWebIO制作的简易Web程序,将网页输入的值进行处理后使用Crawlers相关类处理接口输出相关数据在网页上。

以上文件的参数大多可在对应的config.yaml中进行修改

💡项目文件结构

./Douyin_TikTok_Download_API
    ├─app
    │  ├─api
    │  │  ├─endpoints
    │  │  └─models
    │  ├─download
    │  └─web
    │      └─views
    └─crawlers
        ├─douyin
        │  └─web
        ├─hybrid
        ├─tiktok
        │  ├─app
        │  └─web
        └─utils

✨支持功能:

  • 网页端批量解析(支持抖音/TikTok混合解析)
  • 在线下载视频或图集。
  • 制作pip包方便快速导入你的项目
  • iOS快捷指令快速调用API实现应用内下载无水印视频/图集
  • 完善的API文档(Demo/演示)
  • 丰富的API接口:
    • 抖音网页版API

      • 视频数据解析
      • 获取用户主页作品数据
      • 获取用户主页喜欢作品数据
      • 获取用户主页收藏作品数据
      • 获取用户主页信息
      • 获取用户合辑作品数据
      • 获取用户直播流数据
      • 获取指定用户的直播流数据
      • 获取直播间送礼用户排行榜
      • 获取单个视频评论数据
      • 获取指定视频的评论回复数据
      • 生成msToken
      • 生成verify_fp
      • 生成s_v_web_id
      • 使用接口网址生成X-Bogus参数
      • 提取单个用户id
      • 提取列表用户id
      • 提取单个作品id
      • 提取列表作品id
      • 提取列表直播间号
      • 提取列表直播间号
    • TikTok网页版API

      • 视频数据解析
      • 获取用户主页作品数据
      • 获取用户主页喜欢作品数据
      • 获取用户主页信息
      • 获取用户主页粉丝数据
      • 获取用户主页关注数据
      • 获取用户主页合辑作品数据
      • 获取用户主页搜藏数据
      • 获取用户主页播放列表数据
      • 获取单个视频评论数据
      • 获取指定视频的评论回复数据
      • 生成msToken
      • 生成ttwid
      • 使用接口网址生成X-Bogus参数
      • 提取单个用户sec_user_id
      • 提取列表用户sec_user_id
      • 提取单个作品id
      • 提取列表作品id
      • 获取用户unique_id
      • 获取列表unique_id

📦调用解析库(已废弃需要更新):

💡PyPi:https://pypi.org/project/douyin-tiktok-scraper/

安装解析库:pip install douyin-tiktok-scraper

import asyncio
from douyin_tiktok_scraper.scraper import Scraper

api = Scraper()

async def hybrid_parsing(url: str) -> dict:
    # Hybrid parsing(Douyin/TikTok URL)
    result = await api.hybrid_parsing(url)
    print(f"The hybrid parsing result:\n {result}")
    return result

asyncio.run(hybrid_parsing(url=input("Paste Douyin/TikTok/Bilibili share URL here: ")))

🗺️支持的提交格式:

💡提示:包含但不仅限于以下例子,如果遇到链接解析失败请开启一个新 issue

  • 抖音分享口令 (APP内复制)
7.43 pda:/ 让你在几秒钟之内记住我  https://v.douyin.com/L5pbfdP/ 复制此链接,打开Dou音搜索,直接观看视频!
  • 抖音短网址 (APP内复制)
https://v.douyin.com/L4FJNR3/
  • 抖音正常网址 (网页版复制)
https://www.douyin.com/video/6914948781100338440
  • 抖音发现页网址 (APP复制)
https://www.douyin.com/discover?modal_id=7069543727328398622
  • TikTok短网址 (APP内复制)
https://www.tiktok.com/t/ZTR9nDNWq/
  • TikTok正常网址 (网页版复制)
https://www.tiktok.com/@evil0ctal/video/7156033831819037994
  • 抖音/TikTok批量网址(无需使用符合隔开)
https://v.douyin.com/L4NpDJ6/
https://www.douyin.com/video/7126745726494821640
2.84 nqe:/ 骑白马的也可以是公主%%百万转场变身https://v.douyin.com/L4FJNR3/ 复制此链接,打开Dou音搜索,直接观看视频!
https://www.tiktok.com/t/ZTR9nkkmL/
https://www.tiktok.com/t/ZTR9nDNWq/
https://www.tiktok.com/@evil0ctal/video/7156033831819037994

🛰️API文档

API文档:

本地:http://localhost/docs

在线:https://api.douyin.wtf/docs

API演示:

  • 爬取视频数据(TikTok或Douyin混合解析) https://api.douyin.wtf/api/hybrid/video_data?url=[视频链接/Video URL]&minimal=false
  • 下载视频/图集(TikTok或Douyin混合解析) https://api.douyin.wtf/api/download?url=[视频链接/Video URL]&prefix=true&with_watermark=false

更多演示请查看文档内容......

⚠️部署前的准备工作(请仔细阅读):

  • 你需要自行解决爬虫Cookie风控问题,否则可能会导致接口无法使用。
    • 抖音网页端Cookie(自行获取并替换下面配置文件中的Cookie):
    • Cookie: __ac_nonce=06629f03b000ca74fd5d0; __ac_signature=_02B4Z6wo00f018OnaAwAAIDCyYGzp89TogfDh2yAAJbJ17; s_v_web_id=verify_lvetxr14_jPt0ZofI_p5Nw_44FG_BGSL_SVodoPoGUlGG; ttwid=1%7CtCoZxPEZnSPKZQhxavM2S9G9udonQu1yTp4eeGEhmOU%7C1714024522%7Ce9786696e4a0d08ac93356835424aece59d214e5f5c1d054dcb62cc18a48b829; IsDouyinActive=true; home_can_add_dy_2_desktop=%220%22; dy_swidth=1463; dy_sheight=915; stream_recommend_feed_params=%22%7B%5C%22cookie_enabled%5C%22%3Atrue%2C%5C%22screen_width%5C%22%3A1463%2C%5C%22screen_height%5C%22%3A915%2C%5C%22browser_online%5C%22%3Atrue%2C%5C%22cpu_core_num%5C%22%3A32%2C%5C%22device_memory%5C%22%3A8%2C%5C%22downlink%5C%22%3A7.85%2C%5C%22effective_type%5C%22%3A%5C%224g%5C%22%2C%5C%22round_trip_time%5C%22%3A100%7D%22
    • TikTok网页端Cookie(自行获取并替换下面配置文件中的Cookie):
    • Cookie: tt_csrf_token=YmksDB6a-h4cT2fF7JpORI2O9UBMCWjsntIc; ttwid=1%7C0FVb9fFc-sjDG2UdJwdC1AirqYozQ0xfbAS4N72vN2Y%7C1713886256%7C78a9d83445b82b73ca8d4e0cf024ea6cdf1329b7f3866c826b0a69a300ebce46; ak_bmsc=51B1D53481A3A4E4D0CEFF2BCF622DA2~000000000000000000000000000000~YAAQ7uIsF6c4j+SOAQAAANmUCxfRGVXZ4D9xnO97l1yDw0OWyomnVkNY7IUKaggUja0kQzFQ+WG4xaxBcPt0AN0n26KeHXGGKgHYpHPUMUBHGHQGDtE4RLyy7U+LPbSJCqVaSDiPuzxHht0YUIbWogvrFmBfkP4ohcmjkZxWtEI9qQ4Whaobb2CFHGdKNt0zlVNBjJQ3uYRAvUe12zSBynQB18y6QhE8goneRkCEw9VIeft2pFIwNQ8tkWWEjDt6wHNaqeND7eASg5WLzYskWbTt6bPAOhSNRLJ38HZrOB5QNg+xxN5uuCSYmjMXCl8SkvQr91pInmOng+V898FLLBQtefs95whvbpfE0mKwBk5Cz2TkkHcUJa/IoC0CLmNqoEk3AtKxpw/J; tt_chain_token=46Xkv2ukMzyJ2e7XU7y0AQ==; bm_sv=A2E67B998DE8E6A4F1C2C02485467446~YAAQ7uIsF6g4j+SOAQAABdqUCxf1J/K4dYG0k7bbw2m5rFujdlSqMoCKDubu4R602nFvbY6zWC5puJczBv3IXwJJRpQxxR03wDCMVlKTCqjQvgDs8BoCuoNQxfY2fdS+F3bKut2lxXPQ2qctqz4kHBrgspJArHn/zu/IuKCIeSzmV4KcyxW6Zvw3/xMRA0MeHgyuHsTRBS+VrFk8Ju2NbJWWC8uSHbLCM/dhFT7/ktw8RE30r24XpQmhLpVTsUSC~1; tiktok_webapp_theme=light; msToken=ySXERzKCE0QUG0cCg6TWLw3wfEB-6kh6kAfuzhzjcQvmV1jBFloSgIsT9xk-QXFVdI99U1Fqb9mhUpIOldoDkjdZwskB8rvt66MHZaHnvBRZRtOKtTYsWT8osDyQXDVZWdPkvyE598h9; passport_csrf_token=1a47d95ebf68fc3648b0018ee75afc9f; passport_csrf_token_default=1a47d95ebf68fc3648b0018ee75afc9f; perf_feed_cache={%22expireTimestamp%22:1714057200000%2C%22itemIds%22:[%227346425092966206766%22%2C%227353812964207594795%22%2C%227343343741916171563%22]}; msToken=yWwG-ITrCnjJbx5ltBa9FTXdCImOJrl-wtQJSQH3afeEumWZcbo_qcrF6F7-NjYcrG6JVxtJiOU208REZeCSgXEZrrs5_65K741fQ7PSzCGOhz6vUyycq3Xvj4Mu-S0kJ6SqyltHnpJp
  • 演示站点的在线下载功能被我关掉了,有人下的视频巨大无比直接给我服务器干崩了,你可以在网页解析结果页面右键保存视频...
  • 演示站点的Cookie是我自己的,不保证长期有效,只起到演示作用,自己部署的话请自行获取Cookie。
  • 这里有一个视频教程可以参考:https://www.bilibili.com/video/BV1vE421j7NR/

💻部署(方式一 Linux)

💡提示:最好将本项目部署至美国地区的服务器,否则可能会出现奇怪的BUG。

推荐大家使用Digitalocean的服务器,因为可以白嫖。

使用我的邀请链接注册,你可以获得$200的credit,当你在上面消费$25时,我也可以获得$25的奖励。

我的邀请链接:

https://m.do.co/c/9f72a27dec35

使用脚本一键部署本项目

  • 本项目提供了一键部署脚本,可以在服务器上快速部署本项目。
  • 脚本是在Ubuntu 20.04 LTS上测试的,其他系统可能会有问题,如果有问题请自行解决。
  • 使用wget命令下载install.sh至服务器并运行
wget -O install.sh https://raw.githubusercontent.com/Evil0ctal/Douyin_TikTok_Download_API/main/bash/install.sh && sudo bash install.sh

开启/停止服务

  • 使用以下命令来控制服务的运行或停止:
    • sudo systemctl start Douyin_TikTok_Download_API.service
    • sudo systemctl stop Douyin_TikTok_Download_API.service

开启/关闭开机自动运行

  • 使用以下命令来设置服务开机自动运行或取消开机自动运行:
    • sudo systemctl enable Douyin_TikTok_Download_API.service
    • sudo systemctl disable Douyin_TikTok_Download_API.service

更新项目

  • 项目更新时,确保更新脚本在虚拟环境中执行,更新所有依赖。进入项目bash目录并运行update.sh:
  • cd /www/wwwroot/Douyin_TikTok_Download_API/bash && sudo bash update.sh

💽部署(方式二 Docker)

💡提示:Docker部署是最简单的部署方式,适合不熟悉Linux的用户,这种方法适合保证环境一致性、隔离性和快速设置。 请使用能正常访问Douyin或TikTok的服务器,否则可能会出现奇怪的BUG。

准备工作

开始之前,请确保您的系统已安装Docker。如果还未安装Docker,可以从Docker官方网站下载并安装。

步骤1:拉取Docker镜像

首先,从Docker Hub拉取最新的Douyin_TikTok_Download_API镜像。

docker pull evil0ctal/douyin_tiktok_download_api:latest

如果需要,可以替换latest为你需要部署的具体版本标签。

步骤2:运行Docker容器

拉取镜像后,您可以从此镜像启动一个容器。以下是运行容器的命令,包括基本配置:

docker run -d --name douyin_tiktok_api -p 80:80 evil0ctal/douyin_tiktok_download_api

这个命令的每个部分作用如下:

  • -d:在后台运行容器(分离模式)。
  • --name douyin_tiktok_api :将容器命名为douyin_tiktok_api
  • -p 80:80:将主机上的80端口映射到容器的80端口。根据您的配置或端口可用性调整端口号。
  • evil0ctal/douyin_tiktok_download_api:要使用的Docker镜像名称。

步骤3:验证容器是否运行

使用以下命令检查您的容器是否正在运行:

docker ps

这将列出所有活动容器。查找douyin_tiktok_api 以确认其正常运行。

步骤4:访问应用程序

容器运行后,您应该能够通过http://localhost或API客户端访问Douyin_TikTok_Download_API。如果配置了不同的端口或从远程位置访问,请调整URL。

可选:自定义Docker命令

对于更高级的部署,您可能希望自定义Docker命令,包括环境变量、持久数据的卷挂载或其他Docker参数。这是一个示例:

docker run -d --name douyin_tiktok_api -p 80:80 \
  -v /path/to/your/data:/data \
  -e MY_ENV_VAR=my_value \
  evil0ctal/douyin_tiktok_download_api
  • -v /path/to/your/data:/data:将主机上的/path/to/your/data目录挂载到容器的/data目录,用于持久化或共享数据。
  • -e MY_ENV_VAR=my_value:在容器内设置环境变量MY_ENV_VAR,其值为my_value

配置文件修改

项目的大部分配置可以在以下几个目录中的config.yaml文件进行修改:

  • /crawlers/douyin/web/config.yaml
  • /crawlers/tiktok/web/config.yaml
  • /crawlers/tiktok/app/config.yaml

步骤5:停止并移除容器

需要停止和移除容器时,使用以下命令:

# Stop
docker stop douyin_tiktok_api 

# Remove
docker rm douyin_tiktok_api 

📸截图

API速度测试(对比官方API)

🔎点击展开截图

抖音官方API:

本项目API:

TikTok官方API:

本项目API:


项目界面

🔎点击展开截图

Web主界面:

Web main interface:


📜 Star历史

Star History Chart

Apache-2.0 license

Start: 2021/11/06

GitHub: @Evil0ctal

douyin_tiktok_download_api's People

Contributors

autunn avatar befantasy avatar chris-ss avatar citizen233 avatar dependabot[bot] avatar evil0ctal avatar fgprodigal avatar github-actions[bot] avatar javaswing avatar jeffrey-deng avatar jw-star avatar maxsky avatar pagenotfound200 avatar thebunnies avatar xuenew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

douyin_tiktok_download_api's Issues

《热心市民》

醒来或者吃饱又是一年,相遇然后分别就在一天。
今天想通了,明天又不行了......

启动报错啊

PermissionError: [Errno 13] Permission denied: 'logs.txt'

400 and slow loading speed when access homepage

 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.        
   Use a production WSGI server instead.
 * Debug mode: off
 * Running on all addresses.
   WARNING: This is a development server. Do not use it in a production deployment.        
 * Running on http://192.168.124.17:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [11/Mar/2022 19:50:11] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [11/Mar/2022 19:50:12] code 400, message Bad request version ('localhost\x00\x17\x00\x00ÿ\x01\x00\x01\x00\x00')
127.0.0.1 - - [11/Mar/2022 19:50:12] "  üª4ÍÉ
                                             ·0cË<A2¤:_o¢%%þ-iA Caï!½X                    ¸¸#.RfK°ØJ&2Û¨ÿ-Ôsí>  ÊÊÀ+À/À,À0̨̩ÀÀ  **      
                                                        localhost                           ÿ   " HTTPStatus.BAD_REQUEST -
127.0.0.1 - - [11/Mar/2022 19:50:12] "GET /?app=index HTTP/1.1" 200 -
127.0.0.1 - - [11/Mar/2022 19:50:12] code 400, message Bad request version ('localhost\x00\x17\x00\x00ÿ\x01\x00\x01\x00\x00')
127.0.0.1 - - [11/Mar/2022 19:50:12] "  ü÷
                                          ¥À3ÑÎA5!ªÇTC&YñëùIÕÐ˹ 'Àï¨;                    §Û.E=@PP"7zKQ£TÃ¥¥?àÐFÊ  À+À/À,À0̨̩ÀÀ  jj      
                                                         localhost                          ÿ   " HTTPStatus.BAD_REQUEST -
127.0.0.1 - - [11/Mar/2022 19:50:12] code 400, message Bad request version ('localhost\x00\x17\x00\x00ÿ\x01\x00\x01\x00\x00')
cf½¨<"Þº
        ܦ öi8­\\<Å=
ÉS  À+À/À,À0̨̩ÀÀ  ªª                                                                        
      localhost   ÿ   " HTTPStatus.BAD_REQUEST -
127.0.0.1 - - [11/Mar/2022 19:50:12] code 400, message Bad request version ('localhost\x00\x17\x00\x00ÿ\x01\x00\x01\x00\x00')
127.0.0.1 - - [11/Mar/2022 19:50:12] "  ü|¦b5lN]?¼9_ÕR¤³OÀêov= /¦FYÅÞÄý                   ýìå}ɼâAàÇÂ~c^±@¦  À+À/À,À0̨̩ÀÀ  ZZ      
                                             localhost   ÿ                                 " HTTPStatus.BAD_REQUEST -
en <class 'str'>

Douyin 音频 No BGM found

大佬,我试了几个抖音的链接,音频好像都没有获取到显示 No BGM found ,但视频里并不是原创音频是有第三方音频的

有错误

发生了了意料之外的错误,输入值已被记录。

⚠详情

函数名 原因 输入值
Scraper.tiktok() HTTPSConnectionPool(host='www.tiktok.com', port=443): Max retries exceeded with url: /@tvamii/video/7045537727743380782 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CBF7DC35E0>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')) https://www.tiktok.com/@tvamii/video/7045537727743380782

可能的原因:

服务器可能被目标主机的防火墙限流(稍等片刻后再次尝试)

输入了错误的链接(暂不支持主页链接解析)

该视频已经被删除或屏蔽(你看的都是些啥(⊙_⊙)?)

你可以在右上角的关于菜单中查看本站错误日志。

点击此处在GayHub上进行反馈

发生了了意料之外的错误,输入值已被记录。

⚠详情
函数名 原因 输入值
Scraper.tiktok() HTTPSConnectionPool(host='www.tiktok.com', port=443): Max retries exceeded with url: /@tvamii/video/7045537727743380782 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001CBF7DC35E0>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。')) https://www.tiktok.com/@tvamii/video/7045537727743380782
可能的原因:

服务器可能被目标主机的防火墙限流(稍等片刻后再次尝试)

输入了错误的链接(暂不支持主页链接解析)

该视频已经被删除或屏蔽(你看的都是些啥(⊙_⊙)?)

你可以在右上角的关于菜单中查看本站错误日志。

点击此处在GayHub上进行反馈

tiktok无水印视频接口好像无法访问了,请问是我梯子的问题吗?

HTTPSConnectionPool(host='toolav.herokuapp.com', port=443): Max retries exceeded with url: /id/?video_id=7044801419366616367 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001BFA7D27D30>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))

未指定URL

您好,请问下使用的时候,弹出指示:请确保向“获取URL内容”操作传递了有效URL。要怎么解决?我是在TikTok直接分享到快捷指令的,之前都可以下载,这次不可以,一直弹出广告那条指示。谢谢!

Proxy IP?

This works phenomenally well for my needs on my local host but in production (on heroku) it times out. Is there a way to use a proxy IP address to make the request?

多条视频链接下莫名卡在第六条 无报错。。


127.0.0.1 - - [17/Mar/2022 20:15:05] "GET /?app=index HTTP/1.1" 200 -
Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7074510252833606925
Type = video
http://v95-a.douyinvod.com/3ae2fc443a268604e866b91136d7f97c/6233347a/video/tos/cn/tos-cn-ve-15c001-alinc2/0515dd92f27f421b874fbd0009f2672e/?a=1128&br=1117&bt=1117&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsd38yytqY&l=202203172015030102080971031F05DDA3&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M2drOzU6ZnV1OzMzNGkzM0ApNjw2PGY4Nzw5N2g8NGdkN2cpaGRqbGRoaGRmYmctNXI0MDVqYC0tZC0vc3MxMDBhLzMzYTZjMC01LV5fOmNwb2wrbStqdDo%3D&vl=&vr=
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7074510303102552869.mp3
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7074510303102552869.mp3
惊不惊喜,意不意外#搞笑 #沙雕 @磁铁李飞(沙雕村)
彭恰恰(沙雕村)
pengqq88888
getting douyin result ['http://v95-a.douyinvod.com/3ae2fc443a268604e866b91136d7f97c/6233347a/video/tos/cn/tos-cn-ve-15c001-alinc2/0515dd92f27f421b874fbd0009f2672e/?a=1128&br=1117&bt=1117&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsd38yytqY&l=202203172015030102080971031F05DDA3&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M2drOzU6ZnV1OzMzNGkzM0ApNjw2PGY4Nzw5N2g8NGdkN2cpaGRqbGRoaGRmYmctNXI0MDVqYC0tZC0vc3MxMDBhLzMzYTZjMC01LV5fOmNwb2wrbStqdDo%3D&vl=&vr=', 'https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7074510303102552869.mp3', '惊不惊喜,意不意外#搞笑 #沙雕 @磁铁李飞(沙雕村)', '彭恰恰(沙雕村)', 'pengqq88888', 'https://www.douyin.com/video/7074510252833606925\n']
getting video info https://www.douyin.com/video/7073080385739033887

127.0.0.1 - - [17/Mar/2022 20:15:06] "GET /?app=index HTTP/1.1" 200 -
Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7073080385739033887
127.0.0.1 - - [17/Mar/2022 20:15:07] "GET /?app=index HTTP/1.1" 200 -
127.0.0.1 - - [17/Mar/2022 20:15:08] "GET /?app=index HTTP/1.1" 200 -
getting video info https://www.douyin.com/video/7073080385739033887

127.0.0.1 - - [17/Mar/2022 20:15:09] "GET /?app=index HTTP/1.1" 200 -
Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7073080385739033887
Type = video
http://v99-cold.douyinvod.com/01e01753cae1e96b28a702510487bae3/623334d5/video/tos/cn/tos-cn-ve-15c001-alinc2/67b6db9ab3d14e5baa9c9bec7a72727f/?a=1128&br=2037&bt=2037&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdG8yytqY&l=202203172015070102091570483105DB89&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=Mzp4cTs6Zjw8OzMzNGkzM0ApaDk0OGRnOWVmNzk2Zjo4ZmcpaGRqbGRoaGRmNTBlL3I0X25oYC0tZC0vc3MwLV42YDUyMjBjYzEtLmEvOmNwb2wrbStqdDo%3D&vl=&vr=
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7073080454420630302.mp3
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7073080454420630302.mp3
又是斗志斗勇的一天#凡尔赛式退货#搞笑 #沙雕
彭恰恰(沙雕村)
pengqq88888
getting douyin result ['http://v99-cold.douyinvod.com/01e01753cae1e96b28a702510487bae3/623334d5/video/tos/cn/tos-cn-ve-15c001-alinc2/67b6db9ab3d14e5baa9c9bec7a72727f/?a=1128&br=2037&bt=2037&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdG8yytqY&l=202203172015070102091570483105DB89&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=Mzp4cTs6Zjw8OzMzNGkzM0ApaDk0OGRnOWVmNzk2Zjo4ZmcpaGRqbGRoaGRmNTBlL3I0X25oYC0tZC0vc3MwLV42YDUyMjBjYzEtLmEvOmNwb2wrbStqdDo%3D&vl=&vr=', 'https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7073080454420630302.mp3', '又是斗志斗勇的一天#凡 尔赛式退货#搞笑 #沙雕', '彭恰恰(沙雕村)', 'pengqq88888', 'https://www.douyin.com/video/7073080385739033887\n']
getting video info https://www.douyin.com/video/7072296901554474247

127.0.0.1 - - [17/Mar/2022 20:15:10] "GET /?app=index HTTP/1.1" 200 -
Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7072296901554474247
127.0.0.1 - - [17/Mar/2022 20:15:11] "GET /?app=index HTTP/1.1" 200 -
getting video info https://www.douyin.com/video/7072296901554474247

127.0.0.1 - - [17/Mar/2022 20:15:12] "GET /?app=index HTTP/1.1" 200 -
Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7072296901554474247
Type = video
http://v5-coldy.douyinvod.com/e10a1263277990bb0c0aa3e9bba15dbf/62333492/video/tos/cn/tos-cn-ve-15-alinc2/96ddf1dc899a4a6795df4573b3872958/?a=1128&br=1672&bt=1672&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdC8yytqY&l=202203172015100102101860444A060559&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3I4eTo6Zml3OzMzNGkzM0ApMzxlaTc6ZDw5N2ZnZ2k7ZWcpaGRqbGRoaGRmMGhgNHI0Z2RmYC0tZC0vc3MyYjExYTMwNV4xX15gLzIzOmNwb2wrbStqdDo%3D&vl=&vr=
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7072296930944043807.mp3
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7072296930944043807.mp3
遭了!昨晚玩游戏忘充电了😱#搞笑 #沙雕@磁铁李飞(沙雕村)
彭恰恰(沙雕村)
pengqq88888
getting douyin result ['http://v5-coldy.douyinvod.com/e10a1263277990bb0c0aa3e9bba15dbf/62333492/video/tos/cn/tos-cn-ve-15-alinc2/96ddf1dc899a4a6795df4573b3872958/?a=1128&br=1672&bt=1672&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdC8yytqY&l=202203172015100102101860444A060559&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3I4eTo6Zml3OzMzNGkzM0ApMzxlaTc6ZDw5N2ZnZ2k7ZWcpaGRqbGRoaGRmMGhgNHI0Z2RmYC0tZC0vc3MyYjExYTMwNV4xX15gLzIzOmNwb2wrbStqdDo%3D&vl=&vr=', 'https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7072296930944043807.mp3', '遭了!昨晚玩游戏忘充电了😱#搞笑 #沙雕@磁铁李飞(沙雕村)', '彭恰恰(沙雕村)', 'pengqq88888', 'https://www.douyin.com/video/7072296901554474247\n']
127.0.0.1 - - [17/Mar/2022 20:15:13] "GET /?app=index HTTP/1.1" 200 -
getting video info https://www.douyin.com/video/7071923678782557477

Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7071923678782557477
127.0.0.1 - - [17/Mar/2022 20:15:14] "GET /?app=index HTTP/1.1" 200 -
127.0.0.1 - - [17/Mar/2022 20:15:15] "GET /?app=index HTTP/1.1" 200 -
getting video info https://www.douyin.com/video/7071923678782557477

Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7071923678782557477
Type = video
http://v26-cold.douyinvod.com/4988cd1d8baaa575038689dc0d2d5237/6233348d/video/tos/cn/tos-cn-ve-15-alinc2/926e645571fd4b4d977bfec4a67239a7/?a=1128&br=1327&bt=1327&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdO8yytqY&l=202203172015130102120980964605C56C&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3Q5czo6ZnY7OzMzNGkzM0ApPGU1ZWc0NDxpNzU7NzhlaGcpaGRqbGRoaGRmYDNxMXI0ZzZmYC0tZC0vc3MtMDUuLzI0NV9iNS02LTExOmNwb2wrbStqdDo%3D&vl=&vr=
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7071923708365261604.mp3
https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7071923708365261604.mp3
这个不说话的男人回来了#搞笑 #沙雕 @磁铁李飞(沙雕村)
彭恰恰(沙雕村)
pengqq88888
getting douyin result ['http://v26-cold.douyinvod.com/4988cd1d8baaa575038689dc0d2d5237/6233348d/video/tos/cn/tos-cn-ve-15-alinc2/926e645571fd4b4d977bfec4a67239a7/?a=1128&br=1327&bt=1327&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdO8yytqY&l=202203172015130102120980964605C56C&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=M3Q5czo6ZnY7OzMzNGkzM0ApPGU1ZWc0NDxpNzU7NzhlaGcpaGRqbGRoaGRmYDNxMXI0ZzZmYC0tZC0vc3MtMDUuLzI0NV9iNS02LTExOmNwb2wrbStqdDo%3D&vl=&vr=', 'https://sf6-cdn-tos.douyinstatic.com/obj/ies-music/7071923708365261604.mp3', '这个不说话的男人回来了#搞 笑 #沙雕 @磁铁李飞(沙雕村)', '彭恰恰(沙雕村)', 'pengqq88888', 'https://www.douyin.com/video/7071923678782557477\n']
getting video info https://www.douyin.com/video/7070123234179517733

127.0.0.1 - - [17/Mar/2022 20:15:16] "GET /?app=index HTTP/1.1" 200 -
Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7070123234179517733
127.0.0.1 - - [17/Mar/2022 20:15:17] "GET /?app=index HTTP/1.1" 200 -
Type = video
http://v95-a.douyinvod.com/787e5645a4d3b712f94ff7b3b729760b/623334e5/video/tos/cn/tos-cn-ve-15-alinc2/e4bbb663a15442718744e83fccbe1206/?a=1128&br=2184&bt=2184&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdz8yytqY&l=2022031720151501021203810940054DFF&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=anR2Ojk6ZjU0OzMzNGkzM0ApZ2c4NTk1ZGQ1N2c1OjczZ2cpaGRqbGRoaGRmYGlsMnI0Z3JjYC0tZC0vc3NiNTQzNi5hMzYzLWA0MWNfOmNwb2wrbStqdDo%3D&vl=&vr=
getting video info https://www.douyin.com/video/7070123234179517733

Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7070123234179517733
127.0.0.1 - - [17/Mar/2022 20:15:18] "GET /?app=index HTTP/1.1" 200 -
127.0.0.1 - - [17/Mar/2022 20:15:19] "GET /?app=index HTTP/1.1" 200 -
getting video info https://www.douyin.com/video/7070123234179517733

Sending request to: 
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=7070123234179517733
Type = video
http://v95-a.douyinvod.com/c4fc2102337b736514f9e8900846f1b7/623334e8/video/tos/cn/tos-cn-ve-15-alinc2/e4bbb663a15442718744e83fccbe1206/?a=1128&br=2184&bt=2184&cd=0%7C0%7C0%7C0&ch=0&cr=0&cs=0&cv=1&dr=0&ds=3&er=&ft=gGf_l88-oU-DYlnt7TQ_plXxuhsdT8yytqY&l=2022031720151801021207406923058A72&lr=&mime_type=video_mp4&net=0&pl=0&qs=0&rc=anR2Ojk6ZjU0OzMzNGkzM0ApZ2c4NTk1ZGQ1N2c1OjczZ2cpaGRqbGRoaGRmYGlsMnI0Z3JjYC0tZC0vc3NiNTQzNi5hMzYzLWA0MWNfOmNwb2wrbStqdDo%3D&vl=&vr=
127.0.0.1 - - [17/Mar/2022 20:15:20] "GET /?app=index HTTP/1.1" 200 -

连续下载需求

有一个app叫4k video downloader,它有个智能模式下载tiktok: 只要点击一个灯泡按钮,就会自动读出剪贴板里的地址,然后在UI里显示一条Log区域,先显示URL,解析完成,log区域就变成了nickname / video title / [download status]。多次数点击灯泡会显示多条log,一条条URL依次下载。

这个app最近有错误,无法正确解析URL了。所以今天我在github上发现了你的项目,试用了下觉得非常好。但是同时我也希望能有4k downloader这种流畅的下载体验。

我尝试修改你的项目,我目前只能把clear_file和tar file注释掉,下载路径设置到 ~/Downloads/tiktok, textarea改成inpur。把解析后的内容精减到尽可能少,然后点击解析窗最下方的绿色按钮完成下载。但是这样操作仍然需要多次点击才能下载一个视频。
并且页面完全刷新,没有了下载log。

我没玩过flask不知道怎么做才能不刷新页面,并且在解析完成后自动开始下载,Log还能重写到屏幕上已经存在的URL上。
所以我来此留一个issue看看能不能获得你的帮助。完成一个web_down.py的连续自动下载版本。

希望大佬看到。谢谢~

image

获取视频信息失败

['https://www.douyin.com/video/6997703748135030020/', 'https://www.douyin.com/video/7077879577111973156/']
正在请求抖音API链接:
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6997703748135030020/   
2022-04-27 19:49:05,689:INFO - 127.0.0.1 - - [27/Apr/2022 19:49:05] "GET /?app=index HTTP/1.1" 200 -

浏览器访问
https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids=6997703748135030020/
image
但这个视频明明是有的 是我自己的问题吗

下载视频的背景音乐链接没有了

首先非常感谢的大佬的贡献,你开发的这个工具功能是最全又是最简洁的

应该是此处代码写错了

if 'play_url' in js:
https://github.com/Evil0ctal/TikTokDownloader_PyWebIO/blob/6134137fca995e9eed24f1d2535e4e7f4a72d744/TikTok_ZH.py#L164
换成这样可以取
if 'music' in js['item_list'][0] and 'play_url' in js['item_list'][0]['music']:

另外,大佬,能不能在返回的json,加上背景音乐的title,我有根据背景音乐搜索视频的需求
我看抖音的api里有返回这个

tiktok

国内解析没问题。
tiktok就不成功一个。
web端直接百分百不动了。
api无反应。
不知道,是否又更新了。。。。

heroku 404

我还尝试把add_url_rule 从 main里拿出来 并且添加route
两种方法下 / 都是404

关于 API 接口返回数据没有封面

Hi
这个工具很好用,谢谢你。 但我有一个问题,在请求 api 接口返回为什么没有封面图片数据呢? 我看到封面数据似乎在 api_url 接口里面,这样的话我如果想要获取封面数据需要在服务器做二次请求,这样会比较耗时。请问封面图片能否在 api 接口里面提供出来?

Api doesnt work

image

Whenever i call api with this method i get this response, why?

测试的时候发生错误,没法下载

D:\Anaconda3\envs\titok\python.exe D:/project/Douyin_TikTok_Download_API/test.py

在此输入TikTok分享口令/链接:https://www.tiktok.com/@martinalynnnn/video/7033880938924739846?is_copy_url=1&is_from_webapp=v1&q=%23coversong&t=1652695567630
目标链接: https://www.tiktok.com/@martinalynnnn/video/7033880938924739846?is_copy_url=1&is_from_webapp=v1&q=%23coversong&t=1652695567630
获取到的TikTok视频ID是7033880938924739846
{'status': 'failed', 'reason': ProxyError(MaxRetryError("HTTPSConnectionPool(host='www.tiktok.com', port=443): Max retries exceeded with url: /@martinalynnnn/video/7033880938924739846?is_copy_url=1&is_from_webapp=v1&q=%23coversong&t=1652695567630 (Caused by ProxyError('Cannot connect to proxy.', OSError(0, 'Error')))")), 'function': 'Scraper.tiktok()', 'value': 'https://www.tiktok.com/@martinalynnnn/video/7033880938924739846?is_copy_url=1&is_from_webapp=v1&q=%23coversong&t=1652695567630'}

Process finished with exit code 0

tiktok 失效

目标链接:  https://www.tiktok.com/@lenana_j/video/7103181064587300098?_d=secCgYIASAHKAESPgo8YwgsU9uTM9K7omO3K94slpYkWrr6RakLYCrRFZs5hJ8bN%2B0v0zkFIxGn9zOaJeLxZK2%2ByxtHM7SsmkzhGgA%3D&checksum=9f23f51e6093c0920c84d103e02f7cf125d41fc3783b81df295d1636db96b928&language=zh&preview_pb=0&sec_user_id=MS4wLjABAAAAj33oOxdWXsSAZOjynILKrxhHtBn16WtXajgItMY-aKlyB_ZFjeykv0OrZUVpsGCS&share_app_id=1233&share_item_id=7103181064587300098&share_link_id=F823ED8E-555E-48E0-94AA-D07E44986535&source=h5_m&timestamp=1655437456&tt_from=copy&u_code=dj3fmhle1e49h6&user_id=6972371426553955333&utm_campaign=client_share&utm_medium=ios&utm_source=copy&_r=1
获取到的TikTok视频ID是7103181064587300098
视频ID为: 7103181064587300098
正在请求API链接:https://api.tiktokv.com/aweme/v1/multi/aweme/detail/?aweme_ids=%5B7103181064587300098%5D
{'status': 'failed', 'reason': KeyError('image_post_info',), 'function': 'Scraper.tiktok()', 'value': 'https://www.tiktok.com/@lenana_j/video/7103181064587300098?_d=secCgYIASAHKAESPgo8YwgsU9uTM9K7omO3K94slpYkWrr6RakLYCrRFZs5hJ8bN%2B0v0zkFIxGn9zOaJeLxZK2%2ByxtHM7SsmkzhGgA%3D&checksum=9f23f51e6093c0920c84d103e02f7cf125d41fc3783b81df295d1636db96b928&language=zh&preview_pb=0&sec_user_id=MS4wLjABAAAAj33oOxdWXsSAZOjynILKrxhHtBn16WtXajgItMY-aKlyB_ZFjeykv0OrZUVpsGCS&share_app_id=1233&share_item_id=7103181064587300098&share_link_id=F823ED8E-555E-48E0-94AA-D07E44986535&source=h5_m&timestamp=1655437456&tt_from=copy&u_code=dj3fmhle1e49h6&user_id=6972371426553955333&utm_campaign=client_share&utm_medium=ios&utm_source=copy&_r=1'}

咋回事

抖音快捷指令开始让输入文本,最终url错误

宝塔部署里面只能选一个启动文件

Web启动文件选择web_zh.py
API启动文件选择web_api.py
尝试创建了2个项目好像后面那个启动不成功
那这样是Web和Api是需要2台服务器分别来部署吗?

解析失败

本地运行起来,TIKTOK的视频解析失败。这是得越狱吗?然后抖音一些视频解析出来后无法下载,下载直接调403

老师求教

老师请问根据个人主页获取所有视频这个怎么做,不商用仅做毕设学习

iOS抖音无水印快捷指令下载/iOS TikTok no watermark shortcut download

iOS Shortcut/快捷指令

快捷指令只需手动安装一次,往后在运行时会自动连接API-V1进行更新检查。

The shortcut command only needs to be manually installed once, and will automatically connect to API-V1 for update checking at runtime.

如果你愿意分享你魔改的快捷方式(捷径),欢迎在下方留言,我会将你的快捷方式链接收录至此文档内,感谢你的工作(#^.^#)

If you are willing to share the shortcut of your magic modification, please leave a message below, I will include your shortcut link in this document, thank you for your work (#^.^#)

[V6.0]
Release date: 2022/11/06
中文:
https://www.icloud.com/shortcuts/4465d514869e4ca585074d40328f3e0e
English:
https://www.icloud.com/shortcuts/58e3a2cbac784a6782f1031c6b1dd9f8
Note:
对最新的API-V1进行了适配,必须安装此更新才能正常使用捷径。
Note:
Adapted to the latest API-V1, this update must be installed to use shortcuts normally.

[V5.0]
Release date: 2022/07/18
中文/Chinese:
https://www.icloud.com/shortcuts/331073aca78345cf9ab4f73b6a457f97
英文/English:
https://www.icloud.com/shortcuts/83548306bc0c4f8ea563108f79c73f8d

[V4.0]
Release date: 2022/07/15
中文/Chinese:
https://www.icloud.com/shortcuts/25af5f6d9a9140e1a4e35c771313732f
英文/English:
https://www.icloud.com/shortcuts/0d37a661c1044ce4a428a84c13113c30

[V3.0]
Release date: 2022/04/16
中文/Chinese:
https://www.icloud.com/shortcuts/126820d2783748d1bdec95a223a02639

[V2.0]
Release date: 2022/04/06
中文/Chinese:
https://www.icloud.com/shortcuts/38df6ca6f54840e5af80b98bf52b9c3b

[V1.0]
Release date: 2022/02/06
中文/Chinese:
https://www.icloud.com/shortcuts/e8243369340548efa0d4c1888dd3c170

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.