Ну, на самом деле на сайте выполняется код JavaScript
для обработки перенаправления на final-destination
URL-адрес для stream
загрузки с token
проверкой.
Теперь мы будем больше волками и пройти через него.
Сначала мы отправим GET
request
с поддержкой session
через requests.Session()
для поддержки объекта session
и снова отправим GET
запрос на загрузку Video
:).
Это означает, что у вас есть окончательная версия 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()
Вывод:
Downloading From https://s205.vidcache.net:8166/play/a202003090La0xSot1Kl/okanime-2107-HD-19_99?&attach=okanime-2107-HD-19_99.mp4
File okanime-2107-HD-19_99.mp4 Saved.
Подтверждение по размеру: Как вы можете видеть 250M
Обратите внимание, что ссылка для загрузки может быть вызвана один раз как токен проверяется только один раз бэкэндом.