"""This module does render video""" import sys import requests from bs4 import BeautifulSoup BASE_URL = 'https://www.youtube.com' SEARCH_FILTER = '&sp=EgIQAQ%253D%253D' URL = BASE_URL + '/results?search_query=' + sys.argv[1] + SEARCH_FILTER HTML = requests.get(URL).text SOUP = BeautifulSoup(HTML, 'lxml') FIRST = True for vid in SOUP.find_all(class_='yt-lockup-content'): try: link = BASE_URL + vid.h3.a['href'] title = vid.h3.a.text description = vid.h3.span.text author = vid.find(class_='yt-lockup-byline').a.text meta = vid.find(class_='yt-lockup-meta').ul.contents time = meta[0].text views_str = meta[-1].text[:-6] views = int(views_str.replace(',', '')) except TypeError: continue if FIRST: FIRST = False else: print() print(f' title: {title}') print(f' url: {link}') print(f' channel: {author}') print(f' uploaded: {time}') print(f' views: {views_str}') # test # f = open('output.xml','w') # f.write(str(SOUP)) # f.write(soup.encode('utf-8'))