feat: add ytquery and ytplay

This commit is contained in:
Terry Geng
2020-03-02 11:23:16 +08:00
parent aa2155b6ca
commit e17d5446bf
4 changed files with 78 additions and 1 deletions

19
util.py
View File

@ -18,6 +18,8 @@ from importlib import reload
from PIL import Image
from io import BytesIO
from sys import platform
import traceback
import urllib.parse, urllib.request, urllib.error
import base64
import media
import media.radio
@ -467,3 +469,20 @@ def get_url_from_input(string):
return res.group(1)
else:
return False
def youtube_search(query):
query_url = "https://www.youtube.com/results?search_query=" + urllib.parse.quote(query, safe="")
try:
request = urllib.request.Request(query_url)
response = urllib.request.urlopen(request).read().decode("utf-8")
results = re.findall("watch\?v=(.*?)\".*?title=\"(.*?)\".*?"
"(?:user|channel).*?>(.*?)<", response) # (id, title, uploader)
print(results)
if len(results) > 0:
return results
except:
print(traceback.format_exc().split("During")[0])
return False