空cookieJar Instagram登录Python

时间:2018-07-10 13:44:52

标签: python python-requests instagram keyerror

我正在尝试通过请求登录Instagram,但不幸的是我无法获得“ csrftoken”,“ sessionId”或“ ds_user_id”。当我运行以下代码时,出现此KeyError:

"name='csrftoken', domain=None, path=None". 

代码:

import requests
import json
import time

# Variables
LOGIN_URL = 'https://www.instagram.com/accounts/login/ajax/'
REFERER_URL = 'https://www.instagram.com/accounts/login/'
USER_AGENT = 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
USERNAME = 'username'
PASSWD = 'pasword'
IGQ = r"https://www.instagram.com/graphql/query/?query_hash=58712303d941c6855d4e888c5f0cd22f&variables=%7B%22id%22%3A%2225025320%22%2C%22first%22%3A24%7D"

session = requests.Session()
req = session.get(LOGIN_URL)
session.headers = {'user-agent': USER_AGENT}
session.headers.update({'Referer': REFERER_URL})
session.headers = {'user-agent': USER_AGENT}
session.headers.update({'x-csrftoken': req.cookies['csrftoken']})
session.headers.update({'sessionid': req.cookies['sessionid']})
login_data = {'username': USERNAME, 'password': PASSWD}
login = session.post(LOGIN_URL, data=login_data, allow_redirects=True)

仔细查看cookie(必需的cookie)后,发现cookieJar为空:

(<RequestsCookieJar[]>)

响应标头(req.headers)为:

{'Content-Type': 'text/html; charset=utf-8', 'Allow': 'POST',
'Cache-Control': 'private, no-cache, no-store, must-revalidate',
'Pragma': 'no-cache', 'Expires': 'Sat, 01 Jan 2000 00:00:00 GMT',
'Vary': 'Cookie, Accept-Language', 'Content-Language': 'en', 'Date':
'Tue, 10 Jul 2018 13:25:12 GMT', 'Strict-Transport-Security':
'max-age=86400', 'Connection': 'keep-alive', 'Content-Length': '0'}

我完全被困在这里,现在正在网上搜索了一会儿,却找不到适合我的解决方案,因此,如果有人可以帮助我,那就太好了!

0 个答案:

没有答案