Python-Skript für Cachebeschreibungen von GC.com

Software von und für die Welt.

Moderator: Schrottie

Lars-Linden
Geonewbie
Beiträge: 5
Registriert: Mi 17. Aug 2011, 22:36

Python-Skript für Cachebeschreibungen von GC.com

Beitragvon Lars-Linden » Do 18. Aug 2011, 16:36

Hi,

als nicht Premium Mitglied bei GC.com bekommt man, wie jeder festgestellt hat leider keine Beschreibungen, wenn man sich ein GPX-File auf's Navi schickt. Dieser Umstand hat mich dazu verleitet ein kleines Skript zu schreiben. Die Idee besteht darin, den Inhalt direkt von der Website zu extrahieren und in ein entsprechendes GPX-File zu schreiben.

Den ersten Teil des Skriptes habe ich bereits fertiggestellt, in ihm gebe ich derzeit noch die zu extrahierenden Werte in Form von Variablen vor. Hinterher möchte ich gerne ein Textfile erzeugen, in dem sich die URL der verschiedenen Caches befinden. Das Skript ruft dann jede einzelne Seite auf und holt sich aus dem Quelltext die benötigten Informationen. Dies geschieht bei mir derzeit noch mit einem Hilfsskript. Vielleicht hat ja jemand Lust mitzumachen!?

Code: Alles auswählen


#!/usr/bin/env python

import sys
import urllib
sys.path.append(".")
import urllister

authorname = 'Wegi79' #auslesen
ownerid = '1047058'   #auslesen
placedby = 'karl und thea'
lateral = '51.212217'    #auslesen
longitudinal = '7.116783'#auslesen
MinLateral = lateral            #evtl. auslesen
MaxLateral = lateral            #evtl. auslesen
MinLongitudinal = longitudinal  #evtl. auslesen
MaxLongitudinal = longitudinal  #evtl. auslesen
cachenumber = 'GC15E7V'
description_h1 = 'Durchbruch by windagei & Wegi79 , Traditional Cache (2.5/3.5)'
cache_url = 'http://www.geocaching.com/seek/cache_details.aspx?guid=fa2d6a3f-d0d6-4426-a66f-c4c705f61d54'
cachename = 'Durchbruch'
cachetyp = 'Traditional Cache'
cacheid = '675053'
cachesize = 'Regular'
difficulty = '2.5'
terrain = '3.5'
country = 'Germany'
state = 'Nordrhein-Westfalen'
shortdesc = 'Lalelu dat isn test'
longdesc = 'Das ist eine lange Beschreibung ;-)'
encodedhints = 'Mein Tip encodiert hier ...'



gpxfile = open('gpxname.gpx', 'w')
# GPX body
gpxfile.write('<?xml version="1.0" encoding="utf-8"?>\n')
gpxfile.write('<gpx xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" creator="Groundspeak, Inc. All Rights Reserved. http://www.groundspeak.com" xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/GPX/1/0/gpx.xsd http://www.groundspeak.com/cache/1/0 http://www.groundspeak.com/cache/1/0/cache.xsd" xmlns="http://www.topografix.com/GPX/1/0">\n')
gpxfile.write('  <name>Cache Listing Generated from Geocaching.com</name>\n')
gpxfile.write('  <desc>This is an individual cache generated from Geocaching.com</desc>\n')
gpxfile.write('  <author>Account "'+ authorname +'" From Geocaching.com</author>\n')
gpxfile.write('  <email>contact@geocaching.com</email>\n')
gpxfile.write('  <url>http://www.geocaching.com</url>\n')
gpxfile.write('  <urlname>Geocaching - High Tech Treasure Hunting</urlname>\n')
gpxfile.write('  <time>2011-08-16T14:33:43.4703703Z</time>\n') # hier noch das richtige Zeitformat auslesen ...
gpxfile.write('  <keywords>cache, geocache</keywords>\n') # hier noch die keywoerter auslesen ...
gpxfile.write('  <bounds minlat="' + MinLateral + '" minlon="' + MinLongitudinal + '" maxlat="'+ MaxLateral + '" maxlon="' + MaxLongitudinal + '" />\n')
gpxfile.write('  <wpt lat="' + lateral + '" lon="' + longitudinal + '">\n')
gpxfile.write('    <time>2007-08-26T07:00:00Z</time>\n') # hier noch das richtige Zeitformat der Veroeffentlichung auslesen ...
gpxfile.write('    <name>' + cachenumber + '</name>\n')
gpxfile.write('    <desc>' + description_h1 + '</desc>\n')
gpxfile.write('    <url>' + cache_url + '</url>\n')
gpxfile.write('    <urlname>' + cachename + '</urlname>\n')
gpxfile.write('    <sym>Geocache</sym>\n') # keine Ahnung ...
gpxfile.write('    <type>Geocache|'+ cachetyp + '</type>\n')
gpxfile.write('    <groundspeak:cache id="'+ cacheid + '" available="True" archived="False" xmlns:groundspeak="http://www.groundspeak.com/cache/1/0">\n')
gpxfile.write('      <groundspeak:name>' + cachename + '</groundspeak:name>\n')
gpxfile.write('      <groundspeak:placed_by>' + placedby + '</groundspeak:placed_by>\n')
gpxfile.write('      <groundspeak:owner id="' + ownerid + '">' + authorname + '</groundspeak:owner>\n')
gpxfile.write('      <groundspeak:type>' + cachetyp + '</groundspeak:type>\n')
gpxfile.write('      <groundspeak:container>' + cachesize + '</groundspeak:container>\n')
gpxfile.write('      <groundspeak:difficulty>' + difficulty + '</groundspeak:difficulty>\n')
gpxfile.write('      <groundspeak:terrain>' + terrain + '</groundspeak:terrain>\n')
gpxfile.write('      <groundspeak:country>' + country + '</groundspeak:country>\n')
gpxfile.write('      <groundspeak:state>' + state + '</groundspeak:state>\n')
gpxfile.write('      <groundspeak:short_description html="True">' + shortdesc + '</groundspeak:short_description>\n')
gpxfile.write('      <groundspeak:long_description html="True">' + longdesc + '</groundspeak:long_description>\n')
gpxfile.write('      <groundspeak:encoded_hints>' + encodedhints + '</groundspeak:encoded_hints>\n')
gpxfile.write('    </groundspeak:cache>\n')
gpxfile.write('  </wpt>\n')
gpxfile.write('</gpx>\n')

gpxfile.close()

Werbung:
Benutzeravatar
arbor95
Geoguru
Beiträge: 4449
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Python-Skript für Cachebeschreibungen von GC.com

Beitragvon arbor95 » Do 18. Aug 2011, 18:03

Nimm doch einfach den CacheWolf.
Bild
Lars-Linden
Geonewbie
Beiträge: 5
Registriert: Mi 17. Aug 2011, 22:36

Re: Python-Skript für Cachebeschreibungen von GC.com

Beitragvon Lars-Linden » Fr 19. Aug 2011, 12:08

Dank' Dir für den Hinweis. CacheWolf überzeugt mich jedoch nicht so richtig.
Benutzeravatar
arbor95
Geoguru
Beiträge: 4449
Registriert: So 4. Jan 2009, 20:28
Wohnort: 72800 Eningen u.A.
Kontaktdaten:

Re: Python-Skript für Cachebeschreibungen von GC.com

Beitragvon arbor95 » So 21. Aug 2011, 00:11

Bauch oder Kopf ?
Bild
Benutzeravatar
SammysHP
Geowizard
Beiträge: 2296
Registriert: Mi 22. Dez 2010, 17:32
Wohnort: Celle
Kontaktdaten:

Re: Python-Skript für Cachebeschreibungen von GC.com

Beitragvon SammysHP » Fr 26. Aug 2011, 15:32

Lass ihn doch, wenn er seine regulären Audrücke alle paar Tage anpassen will. ;)
c:geo-Entwickler

Zurück zu „Linux/Java/PHP“



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder