Это HTML, который я хочу извлечь с веб-сайта (также показан выделенным ниже в полном виде HTML scipt):
<button class="download plyr__control plyr__tab-focus" id="download" type="button" data-plyr="download" href="https://www9.mp4upload.com:282/d/rsxqw2jvz3b4quuozowqskqwkav3ldpqiuo7gyh3dfbxphvjburtgr7t/video.mp4"><svg aria-hidden="true" focusable="false"><use xlink:href="#plyr-download"></use></svg><span class="plyr__tooltip">Download</span></button>
Моя конечная цель - получить URL-адрес href из этот выделенный бит, но я не могу понять, как его найти, используя BeautifulSoup. Я пробовал этот и многие аналогичные методы, но результат всегда был бы «Нет»:
href
BeautifulSoup
print(soup.find("button", class_="download plyr__control plyr__tab-focus"))
Дополнительная информация: URL: https://9anime.to/watch/puella-magi-madoka-magica.q1n/yqq3r9x
res = requests.get(URL) soup = BeautifulSoup(res.text, "html.parser")
Изображение для справки
Думаю, ваша ошибка может быть связана с тем, что у вас несколько классов.
Я нашел это из https://medium.com/@epicshane / using-beautifulsoup4-to-find-class -ight-match-3e263a95e330 и адаптировал его к вашему случаю:
import bs4 html = bs4.BeautifulSoup(requests.get(url).text, "html.parser") tag = html.find(lambda tag: tag.name == 'button' and tag['class'] == ['download', 'plyr__control', 'plyr__tab-focus'])