File size: 1,460 Bytes
0c96430 c2b6df9 0c96430 3ad50c3 1846272 65732ea edc7dee 0d7bef1 65732ea 823352d 54fc4d5 65732ea 49fc548 f39529d edc7dee 65732ea 91f82dc b4ea61c 49fc548 d62588c 6707a73 ad1e877 e47e701 d62588c c0d0f89 54fc4d5 934ba80 0c96430 d62588c 0c96430 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import gradio as gr
from bs4 import BeautifulSoup
import requests
def greet(link):
HEADER = {"User-Agent": 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
#link = "https://youtu.be/vQUCSHUlN-k?si=FfIsODGjJDzIHOAS"
response = requests.get(link) #, headers=HEADER)
soup = BeautifulSoup(response.text, "html.parser")
#print (soup.prettify())
titleSoupMeta = soup.find("meta", property="og:title")
videoTitle = titleSoupMeta["content"] if titleSoupMeta else "NotFound"
result = {}
result["views"] = soup.find("meta", itemprop="interactionCount")['content']
#soup=soup.prettify()
#viewSoupMeta = [line for line in soup.split('viewCount') if "views" in line]
response2=response.text[response.text.find("viewCount"):].split('"')[2]
# Store JSON data in API_Data
#for key in API_Data:{
# print(key,":", API_Data[key])
#}
#viewSoupMeta=viewSoupMeta[19:25]
##videoViews = viewSoupMeta["content"] if titleSoupMeta else "NotFound"
'''
if soup.find(attrs={"viewCount": "3363"}) == None:
viewSoupMeta = "3363" #soup.find(attrs={"class": "watch-view-count"}).text
else:
viewSoupMeta= soup
'''
#viewSoupMeta = API_Data #str(response).find("viewCount")
return response2 #result #soup.prettify()
iface = gr.Interface(fn=greet, inputs="text", outputs="text")
iface.launch() |