2016-04-20 14 views
1

私の仕事は、アプリケーションやウェブサイトを生成するのではなく、入力としてユーザー名を与え、結果としてユーザーIDを取得するPYTHONスクリプトを書くことです。Instagram APIを使用せずにInstagram User _IDを取得する方法はありますか?

instagramは、アプリケーション名、ウェブサイト、URI、その他すべてのものがクライアントIDなどを受け取ってAPIを使用できるようにするためのものであり、アプリケーションはありません。それを修飾する。 Instagram APIがなければ何もできませんか?

他に方法がない場合、どのように作業するのですか?

また、私はPythonプログラミングとAPIとすべてに接続することに新しいです。誰かが私にそうするためのコードを手伝ってくれると本当に役に立ちます。

ありがとうございます!

+2

正式なAPIがある場合はそれを使用することをお勧めします。あなたはウェブサイトなしでAPIに登録することができます。 – Selcuk

+0

応答@Selcukに感謝します。しかし、私は確認し、そのすべてを求めている。私はAPIコンセプトを使ってPythonを初めて使っているので、同じコードを書く方法はわかりません。そうする方法を手伝ってください。 –

+0

スクラップをスクリーニングできますが、すぐに禁止されます。プレースホルダを使用してGoogleにPython Instagram APIライブラリを登録することをお勧めします。 – Selcuk

答えて

1

質問に対する答えは、Instagram API自体を使用できることです。 @Selcuk氏によると、Instagramサイトのプレースホルダーを使って登録することができます。それでは、そこからclient_idとclient_secretを取得し、instagramユーザーに登録されていれば、アクセストークンも取得します。

アクセストークンが見つからない場合は、https://apigee.com/console/instagram にアクセスし、上部の認証オプションでOAuthを選択すると、instagramのログインページが表示されます。クエリを送信した後は、どのリクエストを行ったのかが表示され、アクセストークンも検索できます。 Pythonのコンソールで

だけ入力します。 -

import urllib.request 
import urllib.parse 
from instagram.client import InstagramAPI 
access_token="YOUR ACCESS TOKEN&q" 
api=InstagramAPI(client_id= 'YOUR CLIENT ID', client_secret='YOUR CLIENT SECRET') 
scope='public_content' 
url='https://api.instagram.com/v1/users/search?q=USERNAME TO SEARCH&access_token=YOUR ACCESS TOKEN' 
a=urllib.request.urlopen(url) 
print(a.read()) 

これはあなたにユーザーに関する詳細情報を提供します。

1

私はこのコードをurllibだけを使用して(python 3.5.2)以下にまとめました。それは夢のように機能します!

from six.moves.urllib.request import urlopen 

def is_number(s): 
    try: 
     float(s) 
     return True 
    except ValueError: 
     return False 
id_loop = True 
while id_loop == True: 
    username = input('Please enter the Instagram username that you would like to find the User ID for: ') 

    link = 'http://www.instagram.com/' + username 
    response = urlopen(link) 
    content = str(response.read()); 

    start_index = (content.index('"owner": {"id": "')) + len('"owner": {"id": "') 

    test_string = '' 

    for collect in range(14): 
     test_string = test_string + content[start_index] 
     start_index = start_index + 1 

    edit_string = '' 

    for char in test_string: 
     if is_number(char) == True: 
      edit_string = edit_string + char 
     else: 
      edit_string = edit_string + '' 

    print(username + "'s Instagram ID = " + edit_string) 

ご覧のとおり、必要なモジュールはurllibだけです。このコードは基本的にユーザー名のInstagramページを検索し、変数contentをウェブページのHTMLコード全体からなる単一の文字列に設定します。この文字列は、コードによって検索され、ユーザーのInstagram IDが検索されます。お役に立てれば!

関連する問題