2016-12-31 5 views
0

私はとりわけ、InstagramのアカウントのMicrosoft Accessデータベースを構築し、以下のデータを抽出したいしようとしてるの抽出方法:Instagramのデータ

  • 信者
  • のアカウント名
  • 数人々の
  • 数は
  • パイのコメントの絵
  • 数の同類の数を
  • 投稿数(およびその日付)に続きますcture

私はデータベースを構築するのに問題はありませんが、個々の画像/アカウントを見て情報を選ぶことなく、すべての情報を簡単かつ迅速に取得する方法があるかどうかを知りたいと思っています。

Microsoft Accessはこれに付随する最善の方法ですか?より良い解決策はありますか?

+0

Ivはページソースを悪用することを決め、そこから必要なものすべてを取り出します。 –

+0

アクセスは何でも最悪の選択です。 –

+0

https://codecanyon.net/item/instagram-scrapper/20751172を試すことができます。これは、ユーザーのすべての情報を抽出し、テキストファイルにエクスポートするWindowsアプリケーションです。 –

答えて

1

あなたは間違いなくあなたがスクラップしたいすべての公開情報を提供できるInstagramのAPIをチェックアウトする必要があります。適切なAPI呼び出しを行うためのスクリプトを書くだけで済みます(下記参照)。 Instagramのウェブサイトから

私たちは、すべてのURLがRESTfulなこと持つために最善を尽くし。すべてのエンドポイント(URL)は、4つの異なるhttp動詞のうちの1つをサポートします。 GET要求はオブジェクトに関する情報を取得し、POST要求はオブジェクトを作成し、PUT要求はオブジェクトを更新し、最後にDELETE要求はオブジェクトを削除します。

あなたはちょうどあなたがあなたのコードでURLを使用する準備ができたら、関連するアカウントのACCESS-TOKEN値を持っている、とInstagramのは、各GETリクエストをあなたに戻ってJSONを展開できるようにする必要があります。データがでない場合は、直接を利用できますが、間接的にいつでもバックアウトすることができます。 - アカウント名 - フォロワー の数 - 人々の数は

を追ったが、ここでは偉大な出発点です: https://www.instagram.com/developer/endpoints/users/#get_users

そして、ここでは、あなたがPythonでAPIへの呼び出しになるだろう方法は次のとおりです。

#Python 2.7.6 
#RestfulClient.py 

import requests 
from requests.auth import HTTPDigestAuth 
import json 

# Replace with the correct URL 
url = "http://api_url" 

# It is a good practice not to hardcode the credentials. So ask the user to enter credentials at runtime 
myResponse = requests.get(url,auth=HTTPDigestAuth(raw_input("username: "), raw_input("Password: ")), verify=True) 
#print (myResponse.status_code) 

# For successful API call, response code will be 200 (OK) 
if(myResponse.ok): 

    # Loading the response data into a dict variable 
    # json.loads takes in only binary or string variables so using content to fetch binary content 
    # Loads (Load String) takes a Json file and converts into python data structure (dict or list, depending on JSON) 
    jData = json.loads(myResponse.content) 

    print("The response contains {0} properties".format(len(jData))) 
    print("\n") 
    for key in jData: 
     print key + " : " + jData[key] 
else: 
    # If response code is not ok (200), print the resulting http error code with description 
    myResponse.raise_for_status() 
+1

私は、APIがユーザーに(すでに公開されている)情報にアクセスする必要があることを理解しています。それは事実ですか? –

4

この質問に 'web-Scraping'というキーワードがある場合は、 ここにいくつかの情報を入力してください。

InstagramはHTMLソースでJavaScript JSONデータを持っていますが、 https://www.instagram.com/user-account/のように、 はリンク別にユーザーの情報を表示します。これらのデータはすべて のスクリプト言語で解析でき、JSONデータを取得できます。 Instagramのは、一度シングルリクエストで唯一の10記事を表示

、あなたはユーザー名、伝記、柱の無い、 信者のいないとを次のように ユーザーの基本情報を見ることができます。しかし、私たちはすべての好きなコメントや すべての写真や、すべての写真の投稿のすべての画像やコメントが必要な場合。その後、 をクリックすると、 'Load more'というボタンが表示されます。

もっと詳しくAjax Callには '?max_id'が含まれています。 10個の投稿情報があります。だから送信する/投稿 'max_id'空またはnullまでの休憩情報を取得するためのポストループを作成する必要があります。

Example Request : First page, https://www.instagram.com/demo-user/

Next Data Request : https://www.instagram.com/demo-user/?max_id=1533276522

and so on...

最近、私はいくつかの暇な時間を持っていた私は、Instagramの上で怒っていた;)だから は、すべての論文の問題を解決するためのスクリプトを作りました。これはPHPで動作し、コード はよくコメントされていますので、これはアプリケーションフローを理解している の問題ではないと思います。あなたはスクリプトがどのように動作するかを見ることができます &は他の言語でもロジックを使用できます。

私はこの答えはSPAMポストのようになりかもしれない誰かのために知っている、しかし、これは、少なくとも単一のユーザーを助けることができれば、私は、彼らは自分の時間を節約することができます気にしない...;)

Here you are :GitHub Repository Code

& ...はい、それは他のInstagramのAPIかを必要としません... :)

+0

こんにちは、私はJavaからバックエンドプロセスとしてこれを行う必要があります。次のURLとしてMore(https://www.instagram.com/demo-user/?max_id=1533276522)を読み込む方法を教えてください。 –