Ich schreibe Code, um Informationen von der NPR-API zu erhalten, und ich laufe immer wieder in einen Kodierungsfehler. Ich habe versucht, .encode('utf-8')
, aber ich kann nicht scheinen, wo ich es finde und ich bekomme immer einen Fehler.'ascii' Kodierungsfehler in Python
Dies ist mein Code:
import json
import requests
def pretty(obj):
return json.dumps(obj, sort_keys = True)
def NPR(
baseurl = 'http://api.npr.org/query?',
apiKey = 'MDIzNjY4Mzk5MDE0NjAzMTcwMzNjNGZjOA000',
id = '1126',
output = 'json',
numResults = '50',
feilds = 'text',
dateType = 'story',
cache_fname="cached_data.txt",
extra_params={}):
d = {}
d['id'] = id
d['feilds'] = feilds
d['dateType'] = dateType
d['output'] = output
d['numResults'] = numResults
d['apiKey'] = apiKey
resp = requests.get(baseurl, params = d)
print resp.url
print "caching data"
f = open(cache_fname, 'w')
f.write(resp.text)
f.close()
return resp.text
NPR(cache_fname="NPR_Africa.txt")
Der Fehler, die ich bekommen ist:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2014' in position 10636: ordinal not in range(128)
auf der Linie f.write(resp.text)
Possible Duplikat [UnicodeEncodeError: 'ASCII' codec Zeichen nicht kodieren, können u '\ u2019' in Position 47: ordinal nicht im Bereich (128)] (http://stackoverflow.com/questions/26641027/unicodeencodeerror- ascii-codec-cant-encode-zeichen-u-u2019-in-position-4) – usr2564301