2016-12-19 5 views
0

このURLからjson形式のデータを解析しようとしています:http://ws-old.parlament.ch/sessions?format=json私のブラウザはjsonデータにうまく対応します。しかし、要求は常に次のエラーをスロー:URLからの解析時にUrllibリクエストでデコードエラーが発生する

JSONDecodeError:期待値:行3列1(CHAR 4)

私は、Python 3.5を使用しています。これは私のコードです:

import json 
import urllib.request 

connection = urllib.request.urlopen('http://ws-old.parlament.ch/affairs/20080062?format=json') 

js = connection.read() 

info = json.loads(js.decode("utf-8")) 
print(info) 
+1

エラーがurllib' 'によってスローされていません。これは 'json.loads()'行によってスローされ、明らかにあなたは*有効な* JSONデータを受け取っていませんでした。 –

+1

Pythonをロードするときに、そのURLからHTML応答を取得します。 –

答えて

2

このサイトでは、JSを既知のブラウザにのみ提供するためにユーザーエージェントフィルタリングを使用しています。幸いにも、簡単に、だまされているだけMozillaUser-Agentヘッダを設定します。

request = urllib.request.Request(
    'http://ws-old.parlament.ch/affairs/20080062?format=json', 
    headers={'User-Agent': 'Mozilla'}) 

connection = urllib.request.urlopen(request) 
js = connection.read() 

info = json.loads(js.decode("utf-8")) 
print(info) 
+0

Martjinようこそ、これはちょうど美しく動作します。 – BarJacks

関連する問題