Skip to content

Instantly share code, notes, and snippets.

@salgo60
Last active October 13, 2023 12:01
Show Gist options
  • Save salgo60/eae5986297ad88a801549d0a37731817 to your computer and use it in GitHub Desktop.
Save salgo60/eae5986297ad88a801549d0a37731817 to your computer and use it in GitHub Desktop.
Länkröta Naturkartan
#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
@salgo60
Copy link
Author

salgo60 commented Oct 13, 2023

/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

@dpriskorn
Copy link

Wohoo!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment