-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdbpedia-wikirank.py
32 lines (26 loc) · 1.09 KB
/
dbpedia-wikirank.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
import requests, json
nazwa = "PKN Orlen"
jezyk = "pl"
parametr = "numberOfEmployees"
jezyki_do_porownania = ["en","de","ru","pl"]
dbpediapar="http://dbpedia.org/ontology/"+parametr
url = 'https://api.wikirank.net/api.php'
data = {"name": nazwa, "lang":jezyk}
r = requests.post(url, json=data)
js = json.loads(r.text)
quality={}
jezyk_nazwa={}
jezyk_parametr={}
for key,value in js["result"].items():
if key not in jezyki_do_porownania: continue
quality[key]=2/((1/(value["quality"]))+1/(value["popularity"]))
jezyk_nazwa[key]=value["name"]
main_url='http://mappings.dbpedia.org/server/extraction/'+key+'/extract?title='
url=main_url+value["name"]+'&format=rdf-json&extractors=mappings'
r = requests.get(url)
for line in r.text.splitlines():
js = json.loads(line[:-1])
if dbpediapar in (js[list(js)[0]]):
jezyk_parametr[key]=js[list(js)[0]][dbpediapar][0]["value"]
najlepszawersja=sorted(quality, key=quality.get, reverse=True)[0]
print (parametr+" ("+najlepszawersja +"): "+str(jezyk_parametr[najlepszawersja]))