この記事は、Python データマイニングと Json 構造分析の関連知識ポイントを例を通じて分析してまとめています。これに興味のある友人は参照してください。
jsonは、構成ファイル形式とも言える軽量のデータ交換形式です
この形式のファイルは、データ処理でよく遭遇するものです
pythonは、組み込みモジュールを提供しますjson は使用前にインポートするだけです
ヘルプ機能を使用して json のヘルプドキュメントを表示できます
json の一般的に使用されるメソッドには、load、loads、dump、dumps が含まれます。これらはすべて次のメソッドに属します。私はPythonの初心者なので、あまり説明しません
jsonはデータベースと組み合わせて使用でき、将来大量のデータを処理するときに非常に役立ちます
ここで、データマイニングを正式に使用して、 jsonファイルを処理します
現在、多くのWebサイトがAjaxを使用しているため、一般にXHRファイルが多いです
ここでは地図Webサイトを使用してデモンストレーションしたいと思います
ブラウザのデバッグを通じて関連するURLを取得しました
https:/ /ditu.amap.com/service/ poiInfo?id=B001B0IZY1&query_type=IDQ
以下では、requests モジュールの get メソッドを使用して、ブラウザーによって発行された http リクエストをシミュレートし、結果オブジェクトを返します
コードは次のとおりです
# coding=utf-8 __Author__ = "susmote" import requests url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ" resp = requests.get(url) print(resp.text[0:200])
結果をターミナルで実行すると以下のようになります
データは取得できましたが、次にこのデータを利用するためにはjsonモジュールを使ってデータを解析する必要があります
コードは次のとおりです
import requests import json url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ" resp = requests.get(url) json_dict = json.loads(resp.text) print(type(json_dict)) print(json_dict.keys())
上記のコードについて簡単に説明します:
jsonモジュールをインポートし、loadsメソッドを呼び出し、返されたテキストをメソッドのパラメータとして渡します
ターミナルでの実行結果は以下の通りです
type (json_dict) は
オブジェクトは辞書であるため、ここで、keys メソッドを呼び出します
結果は、status、searcOpt、data という 3 つのキーを返します
data キーのデータを確認してみましょう
import requests import json url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ" resp = requests.get(url) json_dict = json.loads(resp.text) print(json_dict['data'])
このコードをターミナルで実行してください
など、必要なデータがたくさんあることがわかります。データを 1 つずつマークするのではなく、Web ページに表示されているものと比較することで、どれが役立つかを知ることができます。
これで、コードを通じて有用な情報を取得し、それを明確に出力します
# coding=utf-8 __Author__ = "susmote" import requests import json url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ" resp = requests.get(url) json_dict = json.loads(resp.text) data_dict = json_dict['data'] data_list = data_dict['poi_list'] dis_data = data_list[0] print('城市: ', dis_data['cityname']) print('名称: ', dis_data['name']) print('电话: ', dis_data['tel']) print('区号: ', dis_data['areacode']) print('地址: ', dis_data['address']) print('经度: ', dis_data['longitude']) print('纬度: ', dis_data['latitude'])
ファイル構造の研究を通じて、辞書はリストでネストされているため、リストは辞書でネストされています。レイヤーごとのブロック解除を通じて、データは正常に取得されます
ここで手順を個別にリストしたので、より明確に確認できます
次に、ターミナルを通じてプログラムを実行して情報を取得します。とても簡単ですね
このプログラムは、他の場所から情報を取得するときに、URLを変更するだけで済みます
たとえば、次の例は北京大学です。
または Tencent Tower
データマイニングに終わりはありません。皆さんがもっとデータを分析して、必要なデータを見つけられることを願っています
関連する推奨事項 :
numpy の処理方法。 Python データの中央値以上がPythonデータマイニングの詳細な分析 Json構造分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。