我想使用 requests
模块从 Instagram cookie 获取 sessionid
。
我尝试了此问题 Instagram Authentification with python and requests 中描述的代码 但它不起作用。 有什么方法可以得到吗?登录之前或之后。
最佳答案
您可以使用此脚本登录 Instagram:
import re
import requests
from datetime import datetime
link = 'https://www.instagram.com/accounts/login/'
login_url = 'https://www.instagram.com/accounts/login/ajax/'
time = int(datetime.now().timestamp())
payload = {
'username': '<USERNAME HERE>',
'enc_password': f'#PWD_INSTAGRAM_BROWSER:0:{time}:<PASSWORD HERE>',
'queryParams': {},
'optIntoOneTap': 'false'
}
with requests.Session() as s:
r = s.get(link)
csrf = re.findall(r"csrf_token\":\"(.*?)\"",r.text)[0]
r = s.post(login_url,data=payload,headers={
"User-Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36",
"X-Requested-With": "XMLHttpRequest",
"Referer": "https://www.instagram.com/accounts/login/",
"x-csrftoken":csrf
})
print(r.status_code)
print(r.url)
print(r.text)
print(s.cookies)
打印(sessionid
在 cookie 中):
200
https://www.instagram.com/accounts/login/ajax/
{"user": true, "userId": "XXX", "authenticated": true, "oneTapPrompt": true, "reactivated": true, "status": "ok"}
<RequestsCookieJar[<Cookie csrftoken=XXX for .instagram.com/>, <Cookie ds_user_id=XXX for .instagram.com/>, <Cookie mid=XXX for .instagram.com/>, <Cookie rur=ATN for .instagram.com/>, <Cookie sessionid=<SESSION ID> for .instagram.com/>]>
关于python-3.x - 如何使用 python + requests 获取 instagram sessionid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62799145/