diff options
author | Jesús <heckyel@hyperbola.info> | 2021-01-16 18:00:52 -0500 |
---|---|---|
committer | Jesús <heckyel@hyperbola.info> | 2021-01-16 18:00:52 -0500 |
commit | be65320ce695a59d427e56f261c4af2c3170a65f (patch) | |
tree | 03327d98dd8f6933e52df77184857f54f042f6b7 | |
parent | 5e8e05a8ed8e05e77b3c3443b7f4c4a6a06c8b99 (diff) | |
download | livie-be65320ce695a59d427e56f261c4af2c3170a65f.tar.lz livie-be65320ce695a59d427e56f261c4af2c3170a65f.tar.xz livie-be65320ce695a59d427e56f261c4af2c3170a65f.zip |
Change API
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | livie.py | 39 |
3 files changed, 19 insertions, 29 deletions
@@ -1 +1,2 @@ -*.xml
\ No newline at end of file +*.xml +*.json @@ -10,12 +10,10 @@ Livie allows the user to search youtube.com and play the video from `mpv`. - `python >= 3.5` - `python-requests` -- `python-beautifulsoup4` -- `python-lxml` -- `hypervideo` or `youtube-dl` +- `hypervideo` - `mpv` - `sudo pacman -S python mpv python-requests python-beautifulsoup4 python-lxml hypervideo` + `sudo pacman -S python mpv python-requests hypervideo` ## Installation @@ -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: |