Python 使用请求获取自动下载链接

Python 使用请求获取自动下载链接,python,web-scraping,beautifulsoup,download,python-requests,Python,Web Scraping,Beautifulsoup,Download,Python Requests,我正试图从使用Bs4获取自动启动的直接下载链接 每次都会自动生成直接下载链接, 直接下载链接也会在5秒后自动启动, 我想获得直接下载链接并将其存储在“Link.txt”文件中 实际上,该站点正在运行一个JavaScript代码来处理重定向到最终目的地的url到stream下载,只需token验证 现在我们将成为更多的狼,并度过难关 我们将首先通过requests.session()来发送GET请求,并通过requests.session()来维护会话对象,然后再次发送GET请求以下载视频 这意味

我正试图从使用Bs4获取自动启动的直接下载链接

每次都会自动生成直接下载链接, 直接下载链接也会在5秒后自动启动, 我想获得直接下载链接并将其存储在“Link.txt”文件中


实际上,该站点正在运行一个
JavaScript
代码来处理重定向到
最终目的地的
url到
stream
下载,只需
token
验证

现在我们将成为更多的狼,并度过难关

我们将首先通过
requests.session()
来发送
GET
请求,并通过
requests.session()来维护
会话
对象,然后再次发送
GET
请求以下载
视频

这意味着您当前拥有最终的
url
,您可以现在下载或以后下载

import requests
from bs4 import BeautifulSoup


def Main():
    main = "https://www.yourupload.com/download?file=2573285"
    with requests.Session() as req:
        r = req.get(main)
        soup = BeautifulSoup(r.text, 'html.parser')
        token = soup.findAll("script")[2].text.split("'")[1][-4:]
        headers = {
            'Referer': main
        }
        r = req.get(
            f"https://www.yourupload.com/download?file=2573285&sendFile=true&token={token}", stream=True, headers=headers)
        print(f"Downloading From {r.url}")
        name = r.headers.get("Content-Disposition").split('"')[1]
        with open(name, 'wb') as f:
            for chunk in r.iter_content(chunk_size=1024*1024):
                if chunk:
                    f.write(chunk)
            print(f"File {name} Saved.")


Main()
输出:

从https://s205.vidcache.net:8166/play/a202003090La0xSot1Kl/okanime-2107-HD-19_99?&attach=okanime-2107-HD-19_99.mp4
文件okanime-2107-HD-19_99.mp4已保存。
按尺寸确认:如您所见
250M

请注意,下载链接是一次性可调用的,因为令牌仅由后端进行一次性验证


实际上,该站点正在运行一个
JavaScript
代码来处理重定向到
最终目的地的
url到
stream
下载,只需
token
验证

现在我们将成为更多的狼,并度过难关

我们将首先通过
requests.session()
来发送
GET
请求,并通过
requests.session()来维护
会话
对象,然后再次发送
GET
请求以下载
视频

这意味着您当前拥有最终的
url
,您可以现在下载或以后下载

import requests
from bs4 import BeautifulSoup


def Main():
    main = "https://www.yourupload.com/download?file=2573285"
    with requests.Session() as req:
        r = req.get(main)
        soup = BeautifulSoup(r.text, 'html.parser')
        token = soup.findAll("script")[2].text.split("'")[1][-4:]
        headers = {
            'Referer': main
        }
        r = req.get(
            f"https://www.yourupload.com/download?file=2573285&sendFile=true&token={token}", stream=True, headers=headers)
        print(f"Downloading From {r.url}")
        name = r.headers.get("Content-Disposition").split('"')[1]
        with open(name, 'wb') as f:
            for chunk in r.iter_content(chunk_size=1024*1024):
                if chunk:
                    f.write(chunk)
            print(f"File {name} Saved.")


Main()
输出:

从https://s205.vidcache.net:8166/play/a202003090La0xSot1Kl/okanime-2107-HD-19_99?&attach=okanime-2107-HD-19_99.mp4
文件okanime-2107-HD-19_99.mp4已保存。
按尺寸确认:如您所见
250M

请注意,下载链接是一次性可调用的,因为令牌仅由后端进行一次性验证


请提供一个最小的代码示例。@ManaliKagathara
OP
已经提供了一个最小的示例。请提供一个最小的代码示例。@ManaliKagathara
OP
已经提供了一个最小的示例。