import requests from requests.exceptions import MissingSchema def extract_titles(url = "https://www.youtube.com/watch?v=CuSxk_DNau8&ab_channel=PeppaPigParodies"): try: page = requests.get(url) except MissingSchema as e: message = e.args[0] substr = '''No scheme supplied. ''' message = message[:message.find(substr)] + message[message.find(substr) + len(substr):] raise RuntimeError(message) except Exception as e: message = f'''Invalid URL '{url}'. Please, try another one.''' raise RuntimeError(message) if not page.ok: message = '''This video isn't available.''' raise RuntimeError(message) try: txt = page.text title_start = '''meta name="title" content="''' pos = txt.find(title_start) if pos == -1: raise RuntimeError title = txt[pos + len(title_start):] title = title[:title.find('"')] channel_start = '''