2017-12-26 23 views
0

私は、学生プロジェクト用の想像上のcadastrialパーティクルに関する.rarファイルを保持するサーバからすべてのデータをダウンロードするコードを記述しようとしています。私が今得意とするのは、特定の数のパーティクルを入力して.rarファイルをダウンロードするためのURLとしてアクセスするだけのサーバーのクエリです。Python webbrowserがGISサーバで機能していない

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>' 

これは、「URL」私は、粒子のためのウェブブラウザモジュールを開きたい「1分の1900」が、私はエラーを取得するこの方法です:

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

とき、私は手動で入力し、このURLは問題なくファイルをダウンロードします。 私はこのPython Webアプリケーションを動作させる方法は何ですか? webbrowser.open_new(url)オプションを使用しましたが動作しません。

+0

Staraと(9997)の間に空きスペースがありますか?私はファイルを削除できません。 –

+0

@AntonvBR no。それは有効なリンクです。 –

答えて

0

不適切なツールを使用しています。 webbrowserは、ネイティブWebブラウザを制御するためのものです。ファイルをダウンロードするだけの場合は、requestsモジュール(または要求をインストールできない場合はurllib.request)を使用してください。

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 

requestsはあなたのためのGETパラメータを符号化処理します - あなたは、要求を自分でエスケープを心配する必要はありません。

+0

ありがとう、私はこの部分が働いているが、どのように出力として.rarファイルを取得できますか?このリンクにアクセスすると自動的にダウンロードされるので、Webブラウザモジュールで試してみました。 –

関連する問題