2016-12-31 64 views
0

我試圖構建的Instagram賬戶的Microsoft Access數據庫,並要提取的以下數據,除其他事項外:如何提取的Instagram數據

  • 帳戶名
  • 追隨者
  • 人數其次
  • 文章(和他們的日期)
  • 號碼畫面的喜歡的
  • 對PI評論數數cture

我在構建數據庫方面沒有任何問題,但想知道是否有一種更簡單/更快的方式來獲取所有信息,而無需查看每個單獨的圖片/帳戶並挑選出信息。

是Microsoft Access中去與最好的方法?有更好的解決方案嗎?

+0

㈣決定生病開放頁面的源代碼,並拔出一切我從那裏需要。 –

+0

訪問是關於任何事情的最糟糕的選擇。 –

+0

您可以嘗試https://codecanyon.net/item/instagram-scrapper/20751172。這是一個windows應用程序,用於提取用戶的所有信息並導出到文本文件中。 –

回答

1

你一定要檢查出的Instagram的API,它可以爲您提供所有你想刮公共信息。你只需要編寫一個腳本來進行適當的API調用(在下面提供)。

從Instagram的網站:

我們盡力讓我們的所有URL是REST風格。每個端點(URL)可以支持四種不同的http動詞之一。 GET請求獲取關於對象的信息,POST請求創建對象,PUT請求更新對象,最後DELETE請求將刪除對象。

你只需要擁有相關帳戶準備就緒ACCESS-TOKEN值,當你在代碼中使用的URL,可以解包的Instagram返回給你每個GET請求JSON 。如果數據不是直接可用,您可以始終間接地退出它。 - 帳戶名 - 追隨者的數量 - 其次

這裏有一個很好的起點人數: https://www.instagram.com/developer/endpoints/users/#get_users

而且這裏是你將如何撥打電話到API中的Python:

#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

那麼如果這個問題有'網絡刮'關鍵字,那麼讓我來 在這裏分享一些信息..

Instagram的在他們的HTML源有一個JavaScript的JSON數據,同時通過 鏈接顯示用戶的信息,如 https://www.instagram.com/user-account/。您可以通過任何腳本語言解析這些數據並獲得JSON數據。

Instagram的說明適用於單一請求只有10篇一次,你可以看到 用戶的喜歡用戶名,傳記,沒有職位的,沒有 追隨者和以下基本信息。但是,如果我們需要所有的喜歡和評論,並且 所有圖片或喜歡和評論爲每個照片帖子。然後 我們必須點擊他們的'Load more'按鈕。

載入更多請求的AJAX調用包括「?max_id」,讓你未來 10個職位信息。所以你必須創建一個Post循環發送/獲取 其餘信息,直到'max_id'爲空或爲空

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和代碼 的作品得到很好的評論,所以我不認爲這會導致任何問題 瞭解應用程序流程。你可以看到腳本,它是如何工作的 &可以使用任何其他語言的邏輯。

我知道有人這樣的回答可能看起來像垃圾郵件後,但我不在乎,如果這能幫助至少一個用戶,他們可以節省他們的時間..;)

Here you are :GitHub Repository Code

& ..是的,它並不需要Instagram的API,否則.. :)

+0

你好,我需要從Java做後端進程。你能否告訴我們如何將下載鏈接加載更多(https://www.instagram.com/demo-user/?max_id=1533276522)? –