ホームページ >バックエンド開発 >Python チュートリアル >Pythonデータマイニングの詳細な分析 Json構造分析

Pythonデータマイニングの詳細な分析 Json構造分析

不言
不言オリジナル
2018-04-21 14:26:141676ブラウズ

この記事は、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) は 7f7a529d7c829355be039cf711e6e765 を返すので、変換結果は json 文字列に対応する辞書であることがわかります

オブジェクトは辞書であるため、ここで、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。