-
Notifications
You must be signed in to change notification settings - Fork 1
/
get_missing_metas.py
32 lines (25 loc) · 1.05 KB
/
get_missing_metas.py
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
from selenium import webdriver
url = input("URL: ")
if url:
driver = webdriver.Chrome(executable_path='./driver/chromedriver')
driver.get(url)
expected_metas = ['description', 'keywords', 'robots', 'copyright', 'author', 'viewport', 'twitter:card',
'twitter:site',
'twitter:title', 'twitter:description', 'twitter:creator', 'twitter:image:src', 'og:title',
'og:type',
'og:url', 'og:image', 'og:description', 'og:site_name']
exist_metas = []
metas = driver.find_elements_by_xpath('//meta')
for meta in metas:
meta_name = meta.get_attribute('name')
meta_property = meta.get_attribute('property')
meta_itemprop = meta.get_attribute('itemprop')
if meta_name:
exist_metas.append(meta_name)
elif meta_property:
exist_metas.append(meta_property)
elif meta_itemprop:
exist_metas.append(meta_itemprop)
for m in expected_metas:
if m not in exist_metas:
print(m)