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.