Я пытаюсь очистить эту веб-страницу: http://animeheaven.eu/watch.php?a=My%20Hero%20Academia%203&e=2 и загрузить видео. Как видите, загружается видео с разрешением 720p. Я могу скачать видео отсюда. Но я не знаю, как получить другую версию видео, то есть версию 480p, из раскрывающегося меню. Как выбрать ссылку 480p?
Что ж, я тоже не очень доволен частью загрузки, но это сделало мою работу. Я заметил, что функция javascript никогда не изменяет только переменные, поэтому я жестко запрограммировал функцию на python и каждый раз получал переменную, в основном, вместо рендеринга js я написал эквивалент python, который выводит ссылку для загрузки, потому что рендеринг js был довольно медленным



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы сделаете POST-запрос с параметром «rs» = «1», вы получите нужные данные.
from bs4 import BeautifulSoup
import requests
link = "http://animeheaven.eu/watch.php?a=My%20Hero%20Academia%203&e=2"
html= requests.post(link, data = {'rs': '1'})
soup= BeautifulSoup(html.content,"lxml")
scripts= soup.findAll("script")
sc=scripts[4]
print (sc)
...
Выходы:
...
document.write("<a class='an' href='"+ pli +"'><div class='dl2'>Download 159 MB</div></a>");
...
Нет:
...
document.write("<a class='an' href='"+ pli +"'><div class='dl2'>Download 255 MB</div></a>");
...
ОБНОВЛЕНО в ответ на комментарий:
...
select = soup.find("select", {'name': 'rs'})
for option in select.find_all('option'):
print ("{} = {}".format(option.text, option['value']))
Выходы
720p = 0
480p = 1
поэтому rs даст разрешение, а sr предоставит сервер. Есть ли способ узнать доступные номера для rs, я имею в виду 0, 1 или 2 и т. д.?
В FireFox или Chrome используйте inspect, посмотрите вкладку сети и отправьте формы, затем посмотрите отправленные данные, это подскажет вам соответствующее значение, которое вам нужно использовать.
Я имел в виду в коде, не открывая браузер. например Я также вижу доступное разрешение из источника страницы, поэтому я подумал, что могу получить источник страницы, прочитать доступные разрешения, а затем снова отправить запрос с соответствующими данными rs.
Я добавил код, чтобы сделать это в качестве обновления своего ответа.
покажите, что вы сделали в этой проблеме до сих пор?