Не могу скачать видео по url с сайта
Пытаюсь парсить видео с аниме сайта, хочу скачать серию Ван Писа используя bs4 и requests.
headers = {
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"User-Agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url = 'https://jut.su/oneepiece/episode-1.html'
req = session.get(url=url,headers=headers)
soup = bs4.BeautifulSoup(req.text,'lxml')
video = soup.find(id='my-player').find_next().get('src')
Вывод:
https://r270106.kujo-jotaro.com/onepiece/1.1080.b7759fb3992d9b4a.mp4?hash1=59a043014cf4f110601c25fcc1a39ccc&hash2=701b157de3b27cc1da285009bf55d87c
Получить ссылку с плеера мне удалось без трудностей,но когда я пытаюсь сделать запрос на эту ссылку выходит ошибка 403
print(requests.session(video).status_code) #403
Когда пытаюсь скачать файл,он скачивается пустым. Я могу перейти на ссылку из принта и оно будет работать без 403 и в авторизованном аккаунте, и в режиме инкогнито, но именно отправляя запрос реквестом я получаю ошибку.
Ответы (1 шт):
Автор решения: Сергей Ш
→ Ссылка
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0'}
session = requests.session()
session.headers.update(headers)
req = session.get('https://jut.su/oneepiece/episode-1.html')
soup = BeautifulSoup(req.text, 'lxml')
video = soup.source['src']
response = session.get(video)
with open('video.mp4', 'wb') as f:
f.write(response.content)