我写了一个程序来抓取网络以获得一个json字幕。那个json是用波斯语写的。我用了decode(“utf-8”),但我的角色是代码。 我该怎么办?
我的python是3.4,我的操作系统是windows8,这是我的代码:
with open('D:\\result.json', 'w') as fid:
fid.write(urllib2.urlopen('http://www.ted.com/talks/subtitles/id/667/lang/fa').read().decode("utf-8"))
我用这种方式将我的字符串写入文件,但问题仍然存在:
scipy.optimize.fmin
答案 0 :(得分:0)
你有JSON,阿拉伯字符转义为permitted by RFC 7159。您需要使用json
对其进行解析才能撤消转义。完成后,您应该能够提取内容"值和打印(到文件,因为控制台上的Windows can't always display Unicode properly)。像这样:
>>> import urllib.request as urllib2
>>> result = json.loads(urllib2.urlopen('...').read().decode('utf8'))
>>> with open('example.txt', 'w', encoding='utf8') as f:
... print(result['captions'][0]['content'], file=f)
然后,您应该能够使用您选择的编辑器打开example.txt。如果显示不正确,请务必将编码设置为UTF-8。