2015-10-15 74 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发布请求的人,您都需要这些标题,否则会出错。