Python - request.get を使用した後、URL を取得すると、.text の応答コンテンツは辞書の形式になりますが、型は str になるのはなぜですか
学习ing
学习ing 2017-06-12 09:21:24
0
3
1006

anaconda の jupyter を使用してコードを実行します。
requests モジュールを使用して Web ページを読み取ります。

出力を参照してください。内容は 中括弧 内にあり、 辞書 と判断されるため、dict 関数 を使用して値を読み込むのですが、失敗します。

type() その属性が str
であることが判明しました。
#json を使用した後、属性が dict に変更されたことがわかりました。

プログラムがこの種の コンテンツを辞書形式で読み取るとき 文字列 を読み取るとき、
それを 辞書属性 にするにはどうすればよいですか?

学习ing
学习ing

全員に返信(3)
習慣沉默

今後質問するときは、編集ボタンを使用してコードを追加してください。これにより、他の人がコードを試すことができます。

次のコードを試してください:

リーリー

結果として、両方の辞書に同じ内容が含まれるはずです。言い換えれば:

リーリー
  • xはr.textの文字列を式として直接実行して辞書を生成します

  • y は、辞書を生成する r.json() メソッドによって返される json オブジェクトです

それであなたの質問は次のとおりです:
「プログラムがこのタイプの辞書コンテンツを文字列として読み取るとき、それを再び辞書属性にするにはどうすればよいですか?」
質問をより正確に次のように変更できます:
「文字列は次の形式の式です。」文字列を辞書に変えるにはどうすればよいでしょうか? 答えは組み込み関数 eval() です

もちろん、requests モジュールにはすでに .json() メソッドがあるので、それを使用できます

いいねを押す +0
伊谢尔伦

d = r.json()

このようにして、辞書dを取得します

いいねを押す +0
迷茫

外側にはまだ引用符があります

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート