我试图解析此网址中的json格式数据:http://ws-old.parlament.ch/sessions?format=json。我的浏览器很好地处理了json数据。但请求总是抛出以下错误:
JSONDecodeError:期望值:第3行第1列(字符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)
答案 0 :(得分:2)
该网站使用User-Agent过滤仅向已知浏览器提供JS。幸运的是,它很容易被愚弄,只需将User-Agent
标题设置为Mozilla
:
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)