2017-12-26 25 views
0

Ich versuche, einen Code zu schreiben, der alle Daten von einem Server, der die .rar-Dateien über imaginäre Cadastrial Partikel für Studentenprojekte enthält, herunterladen wird. Was ich für jetzt habe, ist die Abfrage für den Server, der nur eine bestimmte Anzahl von Partikeln eingeben muss und als URL darauf zugreifen muss, um die .rar-Datei herunterzuladen.Python Webbrowser funktioniert nicht mit GIS-Server

url = 'http://www.pg.geof.unizg.hr/geoserver/wfs?request=getfeature&version=1.0.0&service=wfs&&propertyname=broj,naziv_ko,kc_geom&outputformat=SHAPE-ZIP&typename=gf:katastarska_cestica&filter=<Filter+xmlns="http://www.opengis.net/ogc"><And><PropertyIsEqualTo><PropertyName>broj</PropertyName><Literal>1900/1</Literal></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>naziv_ko</PropertyName><Literal>Suma Striborova Stara (9997)</Literal></PropertyIsEqualTo></And></Filter>' 

Dies ist die „url“ Ich bin mit dem Web-Browser-Modul für ein Teilchen „1900/1“, aber diese Weise ich einen Fehler öffnen möchten:

This XML file does not appear to have any style information associated with it. The document tree is shown below.

Wenn ich manuell eingegeben zu diesem URL lädt die Datei ohne Probleme herunter. Wie kann ich diese Python-Web-Anwendung arbeiten? Ich habe eine webbrowser.open_new(url) Option verwendet, die nicht funktioniert.

+0

Sollte zwischen Stara und (9997) ein leerer Platz sein? Ich kann die Datei nicht dllen. –

+0

@AntonvBR-Nr. Es ist ein gültiger Link. –

Antwort

0

Sie das falsche Werkzeug verwenden. webbrowser dient zur Steuerung eines nativen Webbrowsers. Wenn Sie nur eine Datei herunterladen möchten, verwenden Sie das Modul requests (oder urllib.request, wenn Sie keine Anforderungen installieren können).

import requests 

r = requests.get('http://www.pg.geof.unizg.hr/geoserver/wfs', params={ 
    'request': 'getfeature', 
    ... 
    'filter': '<Filter xmlns=...>' 
}) 
print(r.content) # or write it to a file, or whatever 

Hinweis requests wird für Sie kodieren GET-Parameter verarbeiten - Sie brauchen sich nicht um Flucht aus dem Wunsch, sich Sorgen zu machen.

+0

danke, ich habe diesen Teil funktioniert, aber wie kann ich eine .rar-Datei als Ausgabe bekommen? Es wird automatisch heruntergeladen, wenn Sie diesen Link erreichen, deshalb habe ich es mit dem Webbrowser-Modul versucht. –

Verwandte Themen