2015-10-15 113 views
0

發送後續請求,我使用下面的腳本錯誤:Python的「請求」模塊上的Instagram

import requests 
import json 
import os 

COOKIES = json.loads("") #EditThisCookie export here (json) to send requests 
COOKIEDICTIONARY = {} 

for i in COOKIES: 
    COOKIEDICTIONARY[i['name']] = i['value'] 

def follow(id): 
    post = requests.post("https://instagram.com/web/friendships/" + id + "/follow/", cookies=COOKIEDICTIONARY) 
    print(post.text) 

follow('309438189') 

os.system("pause") 

這個腳本應該Instagram上發送的後續請求用戶,'3049438189'。然而,如果代碼運行時,post.text輸出一些HTML代碼,包括

「此頁無法加載。如果你在你的 瀏覽器中禁用cookie,或者你在私人瀏覽模式,請嘗試啓用 Cookie或關閉私密模式,然後重試您的操作。「

它應該以「請求」模塊可讀格式將cookies追加到變量COOKIEDICTIONARY。如果您打印數組(我不知道它在Python中稱爲什麼),它會回覆所有的cookie及其值。

放入的cookie是有效的,請求語法(我相信是)是正確的。

+1

'json.loads()'需要一個字符串參數。我很驚訝這個代碼甚至會運行。看起來你在COOKIES或COOKIEDICTIONARY中看不到任何東西,這就可以解釋爲什麼你有錯誤說你錯過了cookies。 – Cfreak

+0

我給它一個字符串,JSON導出(以字符串形式)我的EditThisCookie餅乾的instagram。我刪除空白符合一行,如果打印出來,則以正確的格式顯示我的所有Cookie。 – Aero

回答

0

我修好了。問題是我需要的某些標題不存在,比如Origin(我將很快獲得完整列表)。對於任何想要模仿任何Instagram發佈請求的人,您都需要這些標題,否則會出錯。