Может кто-нибудь объяснить, почему Youtube можно очистить с помощью этого куска кода? - PullRequest
0 голосов
/ 14 апреля 2020

Я довольно плохо знаком с 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>

Имена классов не совпадают, но все равно работают.

...