Python Srapyのjsonトランスコード中国語処理1:コマンドライン方式

1913 ワード

要約
Scrpyは中国語を登り、asciiコードを表示しますが、どうやってutf-8正常符号に変えますか?どうやってjsonのasciiコードを正常中国語に変換しますか?本明細書ではscrapy shellを使用し、jsonパケット中のjson.dumps(dictname,ensure_ascii=False)を使用して、成功的に処理した.
Issue:ASCIIコードを表示します.中国語ではありません.
観察者ネットを使ってテストしてみます.コマンドラインを使用します
$ scrapy shell 'http://www.guancha.cn'
>>> response.url
'http://www.guancha.cn'
ナビゲーションバーの中国語の内容をつかむ
>>> nav = response.css('div.nav a::text').extract()
>>> nav
[u'\u9996\u9875', u'\u653f\u6cbb', u'\u7279\u6717\u666e\u201c\u63a8\u7279\u5916\u4ea4\u201d\u5251\u6307\u5317\u4eac\u8fd8\u662f\u534e\u76db\u987f\uff1f', u'\u9b4f\u8fea\u82f1',..., u'\u4e13\u9898', u'\u4e13\u680f']
Reference
Pythonでjson.dumps中国語を呼び出して問題解決方法を表示します.
収集したウェブページの内容はTXTとして保存します.データの結果はDicですので、Jsonに変えます.しかし、変換の過程で漢字はasciiコードフォーマットになりました.help("json"を通じて)中に配置情報があることを見ました.
    dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)  
ensure_asciiという属性設定!
自動ensure_を閉じる必要があります.ascii:
data={"url":"http:www.dianwe.com","content":"  Test","CreateTime":"2014-07-08 23:29"}  
bizResult= json.dumps(data, ensure_ascii=False)   
print(bizResult)  
これでAciiコードには変わりません.
テスト:合格
コマンドを使用します.テストに合格しました
>>> import json
>>> result = json.dumps(nav,ensure_ascii=False)
>>> print(result)
["  ", "  ", "   “    ”         ?", "   ", "      ,             ",..., "   ", "    ", "  ", "  "]
備考:試験環境
scrapy 1.2.2 python 2.7.12 os x 10.3