Lübeck
(Lübeck)
November 1, 2012, 3:03pm
#1
Hi !
weiß einer von Euch ob es ein Tool gibt um die Werte von Tabellen aus OsmWiki-Seiten auslesen zu können?
Ziel ist es die online-Geführte Tabelle der Lübeck-Spielplätze auslesen zu können um diese dann in eine Auswertung übernehmen zu können. Am liebsten wäre es mir, wenn diese perl-basiert wäre.
Gruß Jan
http://wiki.openstreetmap.org/wiki/L%C3%BCbeck/Spielpl%C3%A4tze
_i
(!I!)
November 1, 2012, 3:55pm
#2
Also für Python hatte ich mal sowas gebastelt, da es da eine Lib für Mediawiki-API gibt. Vielleicht bist du aber mit manuellen Aufarbeiten der Liste auf deinem Rechner auch schneller…
fx99
(Fx99)
November 1, 2012, 4:00pm
#3
<table class="wikitable sortable">
<tr style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;">
<th> Ref
</th>
<th> Name
</th>
<th> Bemerkungen
</th></tr>
<tr>
<td>147226
</td>
<td>Adolfplatz / Stadtpark
</td>
<td>
</td></tr>
<tr>
<td>127232
</td>
<td>Alsheide
</td>
<td>
</td></tr>
<tr>
<td>127233
</td>
<td>Alsheide / Engelswisch (Alsheide2)
</td>
<td>
</td></tr></table>
Das Auswerten des html Codes sollte mit den CPAN Routinen für perl kein allzu großes Problem sein.
Da die Tabellen allerdings keinen Namen oder Kennzeichnung haben, muss man auf andere Weise feststellen, welche man braucht.
ikonor
(Ikonor)
November 1, 2012, 5:00pm
#4
Mit “wiki.openstreetmap.org/w/index.php?title= &action=raw” kann man den Quelltext einer Seite herunterladen (§ion= für den Ausschnitt zu einer Überschrift). Und mit grep und sed kann man auch schon einiges extrahieren und umformatieren.
Zum Beispiel:
wget -O raw.txt 'wiki.openstreetmap.org/w/index.php?title=Lübeck/Spielplätze&action=raw'
grep '^|[^-\n}]' raw.txt > test.txt
liefert schon mal so was:
|147226
|Adolfplatz / Stadtpark
|127232
|Alsheide
...
Gruß,
Norbert
Lübeck
(Lübeck)
November 1, 2012, 5:08pm
#5
Hi !
danke erst einmal für den Hinweis.
Jetzt muss ich saß nur noch mit perl unter Windows verwerten.
Jan
Lübeck
(Lübeck)
November 2, 2012, 9:17am
#6
hi !
ich habe jetzt einmal versucht den Weg von ikonor unter Windows 7 auszuführen und habe auch einmal beide Hochkomma-Varianten ausgeführt und es kommen einfach nur Fehlermeldungen. Meine Bat-Datei liegt als UTF-8 ohne BOM vor.
wget -O raw.txt 'wiki.openstreetmap.org/w/index.php?title=Lübeck/Spielplätze&action=raw'
Rückmeldung
wget -O raw.txt "wiki.openstreetmap.org/w/index.php?title=Lübeck/Spielplätze&action=raw"
Rückmeldung
Kann mir einer weiterhelfen ?
Gruß Jan
wambacher
(Walter Nordmann)
November 2, 2012, 10:06am
#7
Rückmeldung ( wget mit cut&paste aus deinem Post)
null Problemo
Eine ausführliche Beschreibung des Spielplatz-Mappings findet sich bei [wiki.openstre
etmap.org/wiki/User:Austi1996/Private_Spielwiese Austi1996/Private_Spielwiese]
Query-to-map [toolserver.org/~kolossos/qtm2/queryinmap.php?BBOX=10.56,53.8,10.9,54.0&
name=*&key=leisure&value=playground&types=points-lines-areas-infos Übersicht] und [to
olserver.org/~kolossos/qtm2/featurelist.php?key=leisure&value=playground&types=points-lines-
areas-infos&BBOX=10.56,53.8,10.9,54.0 Liste]
[[Image:Jt osm label bolzplatz luebeck.jpg|150px]]
[[Image:Jt osm label spielplatz luebeck.jpg|150px]]
[[Image:Jt osm label spielplatz luebeck bezeichnung.jpg|150px]]
Im Frühjahr 2012 wurde uns die Liste der Spielplätze (auch einige Bolzplätze enthalten) in L
übeck, die von der Abteilung Stadtgrün betreut werden, zur Verfügung gestellt. Aktuell werde
n die Spielpätze auch mit Namenschilder versehen (anscheinend 1 pro Spielplatz).
Die betreffenden Flächen sollten daher nach und nach mit dem {{tag|ref|}} versehen werden u
nd auch ein entsprechender {{tag|name| }} zugewiesen werden. Die Namen in der nachfolgenden
Liste sind nicht immer so wie wir diese in OSM eintragen würden. Daher sollte dieser eigenmä
chtig ergänzt werden.
… snip …
Schlußfolgerung: irgend was mit MS.
Gruss
walter
brogo
(Brogo)
November 2, 2012, 10:47am
#8
unter XP gestestet:
als einzelner Befehl in der Konsole: OK
als BAT gespeichtert: die gleichen Probleme wie bei Jan
Christian
ikonor
(Ikonor)
November 2, 2012, 11:00am
#9
Vielleicht ein Umlaut-Problem (ü + ä)?
Lübeck:
Evtl. hilft die URL-Kodierung aus Deinem ersten Post, also:
wget -O raw.txt "wiki.openstreetmap.org/w/index.php?title=L%C3%BCbeck/Spielpl%C3%A4tze&action=raw"
P.S.: Ich hatte das in der Cygwin bash unter Windows XP getestet.
Lübeck
(Lübeck)
November 2, 2012, 11:02am
#10
Hi !
habe das eben nochmal ausprobiert:
… schade !
Gruß Jan
wambacher
(Walter Nordmann)
November 2, 2012, 11:06am
#11
Lübeck:
… schade !
Gruß Jan
keep it simple: nimm erst mal nen wiki-url OHNE Umlaute.
Gruss
walter
ikonor
(Ikonor)
November 2, 2012, 11:08am
#12
Da fehlt jetzt das %C3%, vermutlich weil das wegen der % in der Batch-Datei als Variable ersetzt wird, versuch mal:
wget -O raw.txt "wiki.openstreetmap.org/w/index.php?title=L%%C3%%BCbeck/Spielpl%%C3%%A4tze&action=raw"
Lübeck
(Lübeck)
November 2, 2012, 11:17am
#13
@ikonor : bingo !!!
Jetzt muss ich nur noch, am besten mit Perl, eine Konvertierung in eine CSV-Datei der ersten Tabelle realisieren.
Gruß Jan
ikonor
(Ikonor)
November 2, 2012, 11:32am
#14
Ich hab mir erlaubt, Überschriften in die Wiki-Seite einzufügen (bitte prüfen, ob das passt).
Damit kannst du mit “§ion=1” nur die erste Tabelle herunterladen:
wget -O raw.txt "wiki.openstreetmap.org/w/index.php?title=L%C3%BCbeck/Spielpl%C3%A4tze&action=raw§ion=1"
Lübeck
(Lübeck)
November 2, 2012, 11:37am
#15
danke für den Tipp mit der Überschrift.
Es ist aber wieder einmal ein Übertragsfehler entstanden:
wget -O raw.txt "wiki.openstreetmap.org/w/index.php?title=L%%C3%%BCbeck/Spielpl%%C3%%A4tze&action=raw§ion=1"
Gruß Jan
fx99
(Fx99)
November 2, 2012, 12:05pm
#16
Bei mir das gleiche Problem:
wget -O raw.htm “http://wiki.openstreetmap.org/wiki/L%C3%BCbeck/Spielpl%C3%A4tze ” oder
wget -O raw.txt “wiki.openstreetmap.org/w/index.php?title=Lübeck/Spielplätze&action=raw ”
direkt aus cmd shell tut, aus bat File tut nicht.
Lösung:
System call aus perl Skript:
#!/usr/bin/perl -w
use strict;
system(‘wget -O raw.htm “http://wiki.openstreetmap.org/wiki/L%C3%BCbeck/Spielpl%C3%A4tze ”’);
system(‘wget -O raw.txt “wiki.openstreetmap.org/w/index.php?title=Lübeck/Spielplätze&action=raw ”’);
@Lübeck : mein Skript arbeitet mit der raw.htm Version.
Lübeck
(Lübeck)
November 2, 2012, 12:39pm
#17
moin !
meinst Du damit das die gesamte Seite gezogen wird und die Datei dabei immer raw.htm heißen muss ?
Gruß Jan
fx99
(Fx99)
November 2, 2012, 12:50pm
#18
system(‘wget -O raw.htm “http://wiki.openstreetmap.org/wiki/L� … l%C3%A4tze”’); und
system(‘wget -O raw.txt “wiki.openstreetmap.org/w/index.php?title=Lübeck/Spielplätze&action=raw ”’);
erzeugen unterschiedliche Dateiformate:
ersteres ein normales html, zweiteres das vom Editieren bekannte wikipedia Format.
Mein perl Skript arbeitet mit dem html Format.
PS: wer das pl Skript möchte, bitte per PN melden.