Tik tok downloader не работает, python

<!-- begin snippet: js hide: false console: true babel: false -->

При вводе ссылки долго думает и выводит ошибку:

<!-- begin snippet: js hide: false console: true babel: false -->

Не понимаю в чём проблема, если поможете


Ответы (1 шт):

Автор решения: Any Name
import json
import os
import random
import ast

import requests


def main(link):
    print('Getting direct link...')
    download_url = get_url(link)
    print(download_url)

    print('Downloading the file...')
    file_dir = download_file(download_url)

    print('File downloaded in {}'.format(file_dir))


# Function to get direct url of the file
def get_url(video_url):
    HEADERS = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0",
        "Accept": "application/json, text/plain, */*",
        "Accept-Language": "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3",
        "Accept-Encoding": "gzip, deflate, br",
        "Sec-Fetch-Dest": "empty",
        "Sec-Fetch-Mode": "cors",
        "Sec-Fetch-Site": "same-origin",
        "Referer": video_url,
        "Connection": "keep-alive",
        "Pragma": "no-cache",
        "Cache-Control": "no-cache",
        "TE": "trailers"
           }

    get_video_page = requests.get(video_url, headers=HEADERS)
    video_page_content = get_video_page.text

    return video_page_content.replace('\\u002F', "/").split("\"url\":")[1].split("\",")[0].replace("\"", "")


# Function to download the file
def download_file(url_to_download):
    file_name = str(random.randrange(100000000000))

    if not os.path.exists('downloads'):
        os.mkdir('downloads')

    if any(x in url_to_download for x in ['.mp3', '.m4a']):
        file_directory = 'downloads/{}.mp3'.format(file_name)
    else:
        file_directory = 'downloads/{}.mp4'.format(file_name)

    with open(file_directory, 'wb') as file_to_save:
        file_content = requests.get(url_to_download).content
        file_to_save.write(file_content)

    return file_directory


if __name__ == '__main__':
    input_url = input('Paste TikTok video or music url here: ')
    if input_url[0] != "h":
        input_url = "http://"+input_url
    main(input_url)

Я дополнил headers тем, что увидел в оригинальном запросе, но не встретил в коде (Для этого пришлось саму переменную переместить в def) Немного поменял поиск ссылки, т.к. ваш метод поиска не выдавал нужного результата

Ссылку для теста я брал отсюда введите сюда описание изображения введите сюда описание изображения

→ Ссылка