🎆修复了抖音长链接报错的问题

This commit is contained in:
Evil0ctal 2022-01-01 23:14:39 -08:00 committed by GitHub
parent 9b30e024e2
commit 1713545866
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -21,7 +21,6 @@ import time
import requests import requests
import unicodedata import unicodedata
app = Flask(__name__) app = Flask(__name__)
title = "抖音/TikTok在线解析" title = "抖音/TikTok在线解析"
description = "在线批量解析下载抖音/TikTok的无水印视频/图集。" description = "在线批量解析下载抖音/TikTok的无水印视频/图集。"
@ -71,7 +70,8 @@ def error_do(e, func_name):
['函数名', '原因'], ['函数名', '原因'],
[func_name, str(e)]]) [func_name, str(e)]])
put_html("<hr>") put_html("<hr>")
put_markdown('大量解析TikTok可能导致其防火墙限流!\n请稍等1-2分钟后再次尝试!\n如果多次尝试后仍失败,请点击[反馈](https://github.com/Evil0ctal/TikTokDownloader_PyWebIO/issues).\n你可以在右上角的关于菜单中查看本站错误日志:)') put_markdown(
'大量解析TikTok可能导致其防火墙限流!\n请稍等1-2分钟后再次尝试!\n如果多次尝试后仍失败,请点击[反馈](https://github.com/Evil0ctal/TikTokDownloader_PyWebIO/issues).\n你可以在右上角的关于菜单中查看本站错误日志:)')
put_link('返回主页', '/') put_link('返回主页', '/')
# 将错误记录在logs.txt中 # 将错误记录在logs.txt中
date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
@ -86,7 +86,7 @@ def loading(url_lists):
with use_scope('bar'): with use_scope('bar'):
put_processbar('bar') put_processbar('bar')
for i in range(1, total_len): for i in range(1, total_len):
set_processbar('bar', i / (total_len-1)) set_processbar('bar', i / (total_len - 1))
time.sleep(0.1) time.sleep(0.1)
@ -96,8 +96,12 @@ def get_video_info(original_url):
try: try:
# 原视频链接 # 原视频链接
r = requests.get(url=original_url, allow_redirects=False) r = requests.get(url=original_url, allow_redirects=False)
# 2021/12/11 发现抖音做了限制会自动重定向网址不能用以前的方法获取视频ID了但是还是可以从请求头中获取。 try:
long_url = r.headers['Location'] # 2021/12/11 发现抖音做了限制会自动重定向网址不能用以前的方法获取视频ID了但是还是可以从请求头中获取。
long_url = r.headers['Location']
except:
# 报错后判断为长链接直接截取视频id
long_url = original_url
key = re.findall('video/(\d+)?', long_url)[0] key = re.findall('video/(\d+)?', long_url)[0]
api_url = f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={key}' api_url = f'https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids={key}'
print("Sending request to: " + '\n' + api_url) print("Sending request to: " + '\n' + api_url)
@ -441,7 +445,8 @@ def main():
title='访问记录') title='访问记录')
]) ])
placeholder = "批量解析请直接粘贴多个口令或链接无需使用符号分开支持抖音和TikTok链接混合。" placeholder = "批量解析请直接粘贴多个口令或链接无需使用符号分开支持抖音和TikTok链接混合。"
kou_ling = textarea('请将抖音或TikTok的分享口令或网址粘贴于此', type=TEXT, validate=valid_check, required=True, placeholder=placeholder, kou_ling = textarea('请将抖音或TikTok的分享口令或网址粘贴于此', type=TEXT, validate=valid_check, required=True,
placeholder=placeholder,
position=0) position=0)
if kou_ling: if kou_ling:
url_lists = find_url(kou_ling) url_lists = find_url(kou_ling)