Я довольно плохо знаком с bs4, запросами и Python в целом.
Это код, который я нашел в Интернете о том, как найти некоторые подробности видео на Youtube.
import requests
from bs4 import BeautifulSoup
url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
Vid={}
Link = url
source= requests.get(url).text
soup=BeautifulSoup(source,'lxml')
div_s = soup.findAll('div')
Title = div_s[1].find('span',class_='watch-title').text.strip()
Vid['Title']=Title
Vid['Link']=Link
Channel_name = div_s[1].find('a',class_="yt-uix-sessionlink spf-link").text.strip()
Channel_link = ('www.youtube.com'+div_s[1].find('a',class_="yt-uix-sessionlink spf-link").get('href'))
if len(Channel_name) ==0:
Channel_name ='None'
Channel_link = 'None'
Subscribers = 'None'
Vid['Channel']=Channel_name
Vid['Channel_link']=Channel_link
Я не совсем понимаю большинство "находок".
Например, например:
Channel_name = div_s[1].find('a',class_="yt-uix-sessionlink spf-link").text.strip()
Если я проверяю видео HTML,
<a class="yt-simple-endpoint style-scope yt-formatted-string" spellcheck="false" href="/channel/UCuAXFkgsw1L7xaCfnd5JJOw" dir="auto">Official Rick Astley</a>
Имена классов не совпадают, но все равно работают.