re.searchで取得した文字列をprintすると
python
1\u9577\u5d0e\u51fa\u8eab\u3067\u3059\ud83d\udd4a
こう表示されるので、デコードしようと.decode("unicode-escape")を使ったのですが
console
1AttributeError: 'str' object has no attribute 'decode'
エラーが出てしまいます。どうすればうまく変換できるのでしょうか?
追記です(説明不足で申し訳ありません)
環境
・windows10
・python3.7.4
・visual studio code使用
・コマンドプロンプトにて実行
まず、もともとやりたかったのはwebスクレイピングです。webページのソース内にに下記のようなjsがありました。
javascript
1window.content_Data_k = { 2 "config": { 3 "token": "dsf78sadf9sdfasd7s9df7safd6", 4 "seer": null, 5 "seerId": null 6 }, 7 "country_code": "JP", 8 "language_code": "ja", 9 "locale": "ja_JP", 10 "index_data": { 11 "contentPage": [{ 12 "logging_page_id": "contentPage_728394298", 13 "show_suggested_contents": false, 14 "graphql": { 15 "user": { 16 "name": "aaa", 17 "comment":"\u9577\u5d0e\u51fa\u8eab\u3067\u3059\ud83d\udd4a", 18 "block": false, 19 "country_block": false, 20 "expect_url": null, 21 "expect_url_linkshimmed": null, 22 "key_number": { 23 "count": 13 24 } 25 } 26 } 27 }] 28 } 29}
この中から"\u9577\u5d0e\u51fa\u8eab\u3067\u3059\ud83d\udd4a"の部分を取得したかったので、comment = re.search(r'"comment"\s*:\s*"([^"]*)"',page_source).group(1)
として取得しました。引数page_sourceにはrequestsライブラリで取得した、webページのソースすべてが代入されています。最後にprint(comment)
すると、\u9577\u5d0e\u51fa\u8eab\u3067\u3059\ud83d\udd4a
がそのまま表示されてしまうわけです。
回答2件
あなたの回答
tips
プレビュー