python3 unicodeencodeerror_请求.get在Python3中抛出UnicodeEncodeError?

我在使用python3中的请求库时遇到了问题。在

这是我的代码:url = 'https://www.contrataciones.gov.py/images/opendata/planificaciones/2016.csv'

r = requests.get(url)

reader = csv.DictReader(r.content.splitlines())

当我用python2运行脚本时,它工作得非常好,但是在python3中,requests.get(url)行出现了一个错误:

^{pr2}$

我做错什么了?我知道如何解码内容等等,但是直接从请求中获取错误会让我感到困惑。在

更新:完整的回溯-看起来可能和pickle有关?在File "fetch.py", line 128, in

main()

File "fetch.py", line 115, in main

id_list = fetchList(options.year)

File "/usr/local/lib/python3.6/site-packages/ratelimit/__init__.py", line 21, in func_wrapper

ret = func(*args, **kargs)

File "fetch.py", line 89, in fetchList

r = requests.get(url)

File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 70, in get

return request('get', url, params=params, **kwargs)

File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 56, in request

return session.request(method=method, url=url, **kwargs)

File "/usr/local/lib/python3.6/site-packages/requests_cache/core.py", line 126, in request

**kwargs

File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 488, in request

resp = self.send(prep, **send_kwargs)

File "/usr/local/lib/python3.6/site-packages/requests_cache/core.py", line 97, in send

response, timestamp = self.cache.get_response_and_time(cache_key)

File "/usr/local/lib/python3.6/site-packages/requests_cache/backends/base.py", line 70, in get_response_and_time

if key not in self.responses:

File "/usr/local/Cellar/python3/3.6.0_1/Frameworks/Python.framework/Versions/3.6/lib/python3.6/_collections_abc.py", line 666, in __contains__

self[key]

File "/usr/local/lib/python3.6/site-packages/requests_cache/backends/storage/dbdict.py", line 163, in __getitem__

return pickle.loads(bytes(super(DbPickleDict, self).__getitem__(key)))

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 359: ordinal not in range(128)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值