diff options
Diffstat (limited to 'livie.py')
-rw-r--r-- | livie.py | 39 |
1 files changed, 15 insertions, 24 deletions
@@ -1,39 +1,30 @@ """This module does render video""" import sys +import json import requests -from bs4 import BeautifulSoup -URL = 'https://yt.conocimientoslibres.ga/youtube.com/' +URL = 'https://youtube-scrape.herokuapp.com' INPUT = sys.argv[1] -FILTER = '&type=1' -SEARCH = '%ssearch?query=%s%s' % (URL, INPUT, FILTER) +SEARCH = '%s/api/search?q=%s' % (URL, INPUT) REQUEST = requests.get(SEARCH) -SOUP = BeautifulSoup(REQUEST.content, 'lxml', from_encoding=REQUEST.encoding) -# skip line loop FIRST = True -articles = SOUP.find_all('article', class_="item-box") +data = json.loads(REQUEST.content.decode('utf-8')) +items = data['results'] +# with open('output.json', 'w') as json_file: +# json.dump(items, json_file) -def check(label): - if label is None: - data = 'Unknown' - else: - data = label.text - return data - - -for article in articles: +for item in items: try: - title = check(article.h4) - link = article.a['href'].replace('/', '', 1) - author = check(article.address) - time = check(article.p) - uploaded = check(article.span) - views = check(article.find('div', class_="views")) - - except TypeError: + title = item['video']['title'] + link = item['video']['url'] + author = item['uploader']['username'] + time = item['video']['duration'] + uploaded = item['video']['upload_date'] + views = item['video']['views'] + except KeyError: continue if FIRST: |