JSON编码和从URL下载

2024-09-29 03:37:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Steam目录中获取JSON。我得到的数据如下:

def downloadString(url):
    req = urllib.request.Request(
        url, 
        data=None, 
        headers={
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36'
        }
    )
    f = urllib.request.urlopen(req)
    return f.read().decode("utf-8")

现在,我遇到了一个编码问题。Steam使用了类似“黑星”('\u2605')的符号,这会导致json部分崩溃:

def test(string):
    print(json.loads(string))

test(downloadString(url))

File "C:\Python34\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u2605' in position 83559: character maps to

我真的不明白我怎么能做别的事。。。任何帮助都是。。。很有帮助。你知道吗


Tags: intestjsonurlstringreturnrequestdef