Для скачивания видео с YouTube рекомендуется использовать библиотеку `youtube-dl`, которая поддерживает несколько видео-хостингов, включая YouTube.
Вот простой пример использования `youtube-dl` для скачивания видео с YouTube:
```python
import youtube_dl
def download_video(url):
ydl_opts = {
'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best',
'merge_output_format': 'mp4',
}
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
info_dict = ydl.extract_info(url, download=False)
video_title = info_dict.get('title', None)
ydl.download([url])
if __name__ == "__main__":
video_url = "https://www.youtube.com/watch?v=VIDEO_ID"
download_video(video_url)
```
Для работы с `youtube-dl` вам необходимо установить его, используя pip:
```
pip install youtube-dl
```
> Обратите внимание, что использование инструментов для загрузки контента с YouTube может быть противоречиво с правилами и условиями использования YouTube. Проверьте их перед использованием.
Если вы все же хотите использовать BeautifulSoup4 для этой задачи, следующий код позволяет получить ссылку на видео:
```python
import requests
from bs4 import BeautifulSoup
def download_video(url):
# Отправить GET запрос и получить HTML страницы с видео
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# Найти тег <video> для получения ссылки на видео
video_tag = soup.find('video')
video_url = video_tag['src']
# Скачать видео
response = requests.get(video_url)
# Записать видео в файл
with open('video.mp4', 'wb') as video_file:
video_file.write(response.content)
if __name__ == "__main__":
video_url = "https://www.youtube.com/watch?v=VIDEO_ID"
download_video(video_url)
```
Помните, что использование этого кода для скачивания видео с YouTube может нарушать правила и условия использования YouTube.