2017-07-05 9 views
0

から中国の表をダウンロードした後、私は、MAC OS X 10.12システムを使用しています。 http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2011/51/06/81/510681114.html からテーブルをダウンロードしました。 テーブルはGB2312でエンコードされましたが、テーブルを保存するためにGBKを使用しました。コードの主要部分は、次のようなものです:奇妙なキャラクターのhtml

req = urllib2.Request(url, headers={ 'User-Agent': 'Mozilla/5.0' }) 
page = urllib2.urlopen(req).read() 
tables=BeautifulSoup(page,'html.parser', 
parse_only=SoupStrainer(),from_encoding='gbk') 
f = open(path, 'w') 
for row in tables.findAll("tr"): 
    cells = row.findAll("td") 
    write_to_file = cells[0].find(text=True) + "," + cells[1].find(text=True) 
+ "\n" 
    write_to_unicode = write_to_file.encode('utf-8') 
    f.write(write_to_unicode) 
f.close() 

しかし私は、(私はここに掲載したような)いくつかのリンクのために、ダウンロードされた中国のテーブルはであり、多くの他の類似のテーブルのためのコードのこのパターンを繰り返し、奇妙な文字。ここに例があります。

´úÂë,³ÇÏç·ÖÀà,Ãû³Æ 
510681114001,121,½ÖµÀ¾ÓÃñίԱ»á 
510681114201,220,ðÀÃù´å´åÃñίԱ»á 
510681114202,220,°×º×´å´åÃñίԱ»á 
510681114203,122,Áâ½Ç´å´åÃñίԱ»á 
510681114204,122,»Æ¼Òµê´å´åÃñίԱ»á 
510681114205,122,»¨ÌÁ´å´åÃñίԱ»á 
510681114206,220,ÔÂÍå´å´åÃñίԱ»á 
510681114207,122,°×ÔÆ´å´åÃñίԱ»á 
510681114208,220,Á¹Ë®¾®´å´åÃñίԱ»á 
510681114209,122,Çàþh´å´åÃñίԱ»á 

このテーブルを本物の中国語に変換するにはどうすればよいですか、中国語のテーブルをダウンロードするにはどうすればよいですか?

問題は、私は2312を使用することを選択した場合、多分このテーブルのために、それは正しく、中国で示すことができているが、他のテーブルのために、それはまだこれらの迷惑な奇妙な文字が表示されます。

+0

データが異なるエンコーディングでエンコードされている場合は、個別にそれを処理する必要があります。どちらかを(各ソースのペアのリストを使用して)手作業でコード化するか、各テーブルに対してどのエンコーディングを選択するかを決める簡単なテストを考えることができます。 – lenz

答えて

0

私はちょうど

a=u"´úÂë" 
print a.encode('iso-8859-1').decode('gbk') 

結果が

代码 

したがって、この問題の一部が解決されている例はこちら http://zzi.io/?p=275 からインスピレーションを得ました。