GungnirAP/Youtube-Comments
0
1import requests2from requests.exceptions import MissingSchema3 4def extract_titles(url = "https://www.youtube.com/watch?v=CuSxk_DNau8&ab_channel=PeppaPigParodies"):5 try:6 page = requests.get(url)7 except MissingSchema as e:8 message = e.args[0]9 substr = '''No scheme supplied. '''10 message = message[:message.find(substr)] + message[message.find(substr) + len(substr):]11 raise RuntimeError(message)12 except Exception as e:13 message = f'''Invalid URL '{url}'. Please, try another one.'''14 raise RuntimeError(message)15 16 if not page.ok:17 message = '''This video isn't available.'''18 raise RuntimeError(message)19 20 try:21 txt = page.text22 title_start = '''meta name="title" content="'''23 pos = txt.find(title_start)24 if pos == -1:25 raise RuntimeError26 title = txt[pos + len(title_start):]27 title = title[:title.find('"')]28 29 channel_start = '''<link itemprop="name" content="'''30 pos = txt.find(channel_start)31 if pos == -1:32 raise RuntimeError33 channel = txt[pos + len(channel_start):]34 channel = channel[:channel.find('"')]35 except Exception as e:36 message = '''Can't detect channel or video title.\nPlease, try another link.'''37 raise RuntimeError(message)38 39 return channel, title