Last active
October 13, 2023 12:01
-
-
Save salgo60/eae5986297ad88a801549d0a37731817 to your computer and use it in GitHub Desktop.
Länkröta Naturkartan
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Naturkartan check | |
# https://gist.github.com/salgo60/eae5986297ad88a801549d0a37731817 | |
# | |
from datetime import datetime | |
import urllib3 | |
import sys | |
from SPARQLWrapper import SPARQLWrapper, JSON | |
endpoint_url = "https://query.wikidata.org/sparql" | |
http = urllib3.PoolManager() | |
# Check linkroot https://w.wiki/7mZ4 | |
# SPARQL | |
query = """SELECT ?wd ?wdLabel ?N ?oldURL WHERE { | |
?wd wdt:P10467 ?N | |
BIND (URI(CONCAT("https://naturkartan.se/",?N)) AS ?oldURL) | |
SERVICE wikibase:label { bd:serviceParam wikibase:language "sv". } | |
} | |
""" | |
def get_results(endpoint_url, query): | |
user_agent = "user:salgo60/%s.%s" % (sys.version_info[0], sys.version_info[1]) | |
sparql = SPARQLWrapper(endpoint_url, agent=user_agent) | |
sparql.setQuery(query) | |
sparql.setReturnFormat(JSON) | |
return sparql.query().convert() | |
''' Check if URLS is ok''' | |
def check(url,wd, wdLabel): | |
try: | |
r = http.request('GET', url) | |
except Exception as e: | |
print("\t\tError\t",str(e)) | |
return False | |
if r.status != 200: | |
print("Status: ",r.status, " \t", url, "\tWikidata: ", wd," - ", wdLabel) | |
return False | |
return True | |
start_time = datetime.now() | |
print("Last run: ", start_time) | |
results = get_results(endpoint_url, query) | |
print ("Number records i Wikidata: " + str(len(results["results"]["bindings"]))) | |
ok = 0 | |
notok = 0 | |
for result in results["results"]["bindings"]: | |
#print(result) | |
try: | |
currentURL = result["oldURL"]["value"] | |
wd = result["wd"]["value"] | |
wdLabel = result["wdLabel"]["value"] | |
if check(currentURL,wd, wdLabel): | |
ok += 1 | |
else: | |
notok += 1 | |
except Exception as error: | |
print("An error occurred: ", wd, " - ", type(error).__name__) # An error occurred: NameError | |
print("OK: ",ok,"\t not ok",notok) | |
end = datetime.now() | |
print("Ended: ", end) | |
print('Time |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
/usr/local/bin/python3.8 "/Users/magnus/Library/Application Support/JetBrains/PyCharmCE2020.3/scratches/scratch_133.py"
Last run: 2023-10-13 13:47:50.329749
Number records i Wikidata: 1065
Status: 404 https://naturkartan.se/sodermanlands-lan/glindraasen Wikidata: http://www.wikidata.org/entity/Q30170840 - Glindranåsen
Status: 404 https://naturkartan.se/orebro/langen Wikidata: http://www.wikidata.org/entity/Q106709259 - Lången, badplats
Status: 404 https://naturkartan.se/smedjebacken/staren-bad Wikidata: http://www.wikidata.org/entity/Q106966794 - Staren badplats
Status: 404 https://naturkartan.se/ostersund/manstabadet-i-nakten Wikidata: http://www.wikidata.org/entity/Q106709985 - Månstabadet
Status: 404 https://naturkartan.se/smedjebacken/asmansbo-bad Wikidata: http://www.wikidata.org/entity/Q106711877 - Åsmansbo badplats
Status: 404 https://naturkartan.se/smedjebacken/bjorsjo-bad Wikidata: http://www.wikidata.org/entity/Q106709267 - Björsjö, badplats
Status: 404 https://naturkartan.se/stockholms-lan/sormlandsleden-etapp-3 Wikidata: http://www.wikidata.org/entity/Q115096996 - Sörmlandsleden, etapp 3
Status: 404 https://naturkartan.se/vastra-gotalands-lan/vadsbo-museum Wikidata: http://www.wikidata.org/entity/Q28935854 - Mariestads industrimuseum / Vadsbo museum
Status: 404 https://naturkartan.se/ostersund/goviken-badplats Wikidata: http://www.wikidata.org/entity/Q106709989 - Gövikens badplats
Status: 404 https://naturkartan.se/smedjebacken/tolvsbo-bad Wikidata: http://www.wikidata.org/entity/Q106709273 - Tolvsbo badplats
Status: 404 https://naturkartan.se/ostersund/minnesgarde-sodra-badplats Wikidata: http://www.wikidata.org/entity/Q106711939 - Södra Minnesgärde, badplats
Status: 404 https://naturkartan.se/smedjebacken/kallvass-bad Wikidata: http://www.wikidata.org/entity/Q106709276 - Källvass, badplats
Status: 404 https://naturkartan.se/smedjebacken/larsbo-bad Wikidata: http://www.wikidata.org/entity/Q106711121 - Larsbo badplats
Status: 404 https://naturkartan.se/kronobergs-lan/lenhovdas-utegym Wikidata: http://www.wikidata.org/entity/Q107460658 - Lenhovda, utegym
Status: 404 https://naturkartan.se/orebro-lan/skvaleberget Wikidata: http://www.wikidata.org/entity/Q30197310 - Skvaleberget
Status: 404 https://naturkartan.se/norrbottens-lan/markkatieva Wikidata: http://www.wikidata.org/entity/Q89969673 - Markkatieva
Status: 404 https://naturkartan.se/morbylanga/nasby-badplats-2 Wikidata: http://www.wikidata.org/entity/Q106706920 - Näsby, badplats
Status: 404 https://naturkartan.se/ostersund/semsans-utlopp-badplats-vid-lugnvik Wikidata: http://www.wikidata.org/entity/Q106709987 - Semsåns utlopp, badplats
Status: 404 https://naturkartan.se/morbylanga/utegym-talludden Wikidata: http://www.wikidata.org/entity/Q107406742 - Talludden, utegym
Status: 404 https://naturkartan.se/smedjebacken/barkevallen Wikidata: http://www.wikidata.org/entity/Q107402176 - Söderbärke IP, utegym
Status: 404 https://naturkartan.se/vaxjo/utegym-stallvagen Wikidata: http://www.wikidata.org/entity/Q107451748 - Stallvägen, utegym
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
An error occurred: http://www.wikidata.org/entity/Q122237959 - KeyError
Status: 404 https://naturkartan.se/telegrafberget-naturreservat Wikidata: http://www.wikidata.org/entity/Q121433503 - Telegrafbergets naturreservat
OK: 1001 not ok 22
Ended: 2023-10-13 13:57:29.276296
Time elapsed (hh:mm:ss.ms) 0:09:38.946566
Process finished with exit code 0