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()