Get keywords from YouTube video meta tag.
My wife was wanting to see meta tags embedded in YouTube videos so I whipped up this quick Python script.
Install Python 3
Install Beautiful Soup
Ubuntu:
sudo apt-get install python3-bs4
sudo apt-get install python-lxml
PIP:
python3 -m pip install BeautifulSoup4
python3 -m pip install lxml
Python
x
15
15
1
import urllib.request
2
from bs4 import BeautifulSoup
3
4
url = 'https://www.youtube.com/watch?v=BWYiMcH0cRc'
5
6
print('URL: %s' % url)
7
print('*' * 60)
8
9
request = urllib.request.Request(url)
10
response = urllib.request.urlopen(request)
11
soup = BeautifulSoup(response,"lxml")
12
13
keywords = soup.find("meta", {"name":"keywords"})['content']
14
for keyword in keywords.split(','):
15
print(keyword.strip())
Result:
URL: https://www.youtube.com/watch?v=BWYiMcH0cRc
****************************************
indoor plants
indoor plant guide
house plants
Make it a simple Tk application:
Python
xxxxxxxxxx
1
54
54
1
import urllib.request
2
from bs4 import BeautifulSoup
3
from tkinter import *
4
5
def get_keywords():
6
url = entry.get()
7
if not url: return
8
9
listbox.delete(0, END)
10
request = urllib.request.Request(url)
11
response = urllib.request.urlopen(request)
12
soup = BeautifulSoup(response,"lxml")
13
14
keywords = soup.find("meta", {"name":"keywords"})['content']
15
for id,keyword in enumerate(keywords.split(',')):
16
#print(keyword.strip())
17
listbox.insert(id, keyword.strip())
18
entry.delete(0, END)
19
entry.focus()
20
21
def close_window ():
22
root.destroy()
23
24
root = Tk()
25
26
root.title('Keywords')
27
root.geometry("640x480")
28
root.resizable(0, 0)
29
30
topframe = Frame(root)
31
topframe.pack(side = TOP, fill = X)
32
33
label = Label(topframe, text = "URL")
34
label.pack(side = LEFT)
35
36
entry = Entry(topframe, bd = 1)
37
entry.pack(fill = X)
38
entry.focus()
39
40
buttonframe = Frame(root)
41
buttonframe.pack(side = BOTTOM, fill = X)
42
43
button_run = Button(buttonframe, text="Run", command=get_keywords)
44
button_run.pack(side = RIGHT)
45
button_close = Button(buttonframe, text="Close", command=close_window)
46
button_close.pack(side = LEFT)
47
48
bottomframe = Frame(root)
49
bottomframe.pack(side = BOTTOM, fill = BOTH, expand = 1)
50
51
listbox = Listbox(bottomframe)
52
listbox.pack(side = LEFT, fill = BOTH, expand = 1)
53
54
root.mainloop()