You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非API方式用Python Requests登录Instagram遇403错误求助

解决Instagram登录返回403的问题

我之前也踩过Instagram登录返回403的坑——Instagram的反爬机制现在对非浏览器请求限制非常严,光靠账号密码和基础UA完全不够。结合我的经验,你需要补充几个关键步骤来模拟真实浏览器的请求流程:

1. 必须先获取CSRF令牌

Instagram在登录时要求携带csrfmiddlewaretoken,这个令牌需要先访问主页才能拿到(存在页面的隐藏表单和Cookie里)。直接请求登录接口肯定会被拦截。

2. 完善请求头字段

除了User-Agent,还需要添加Referer、X-Requested-With等字段,让请求看起来更像浏览器发起的AJAX请求。

3. 正确构造登录表单数据

表单里除了用户名和密码,必须包含刚才获取的CSRF令牌,部分场景下还需要额外的设备标识参数。

修改后的完整代码示例

import requests
from bs4 import BeautifulSoup

# 基础配置
main_url = 'https://www.instagram.com/'
login_url = main_url + 'accounts/login/ajax/'
user_agent = 'Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25'

# 初始化会话
session = requests.session()
session.headers.update({
    "User-Agent": user_agent,
    "Referer": main_url,
    "X-Requested-With": "XMLHttpRequest"
})

# 第一步:访问主页获取CSRF令牌和Cookie
response = session.get(main_url)
soup = BeautifulSoup(response.text, 'html.parser')
csrf_token = soup.find('input', {'name': 'csrfmiddlewaretoken'})['value']

# 第二步:构造登录数据
login_data = {
    'username': '你的Instagram账号',
    'password': '你的密码',
    'csrfmiddlewaretoken': csrf_token
}

# 第三步:发送登录请求(允许重定向)
login_response = session.post(login_url, data=login_data, allow_redirects=True)

# 验证登录结果
if login_response.status_code == 200:
    response_json = login_response.json()
    if response_json.get('authenticated'):
        print("✅ 登录成功!")
        # 可以进一步验证,比如访问个人主页
        profile_res = session.get(f"{main_url}你的用户名/")
        if profile_res.status_code == 200:
            print("✅ 已成功访问个人主页")
    else:
        print(f"❌ 登录失败:{response_json.get('message')}")
else:
    print(f"❌ 请求失败,状态码:{login_response.status_code}")
    print(login_response.text)

额外注意事项

  • 不要频繁请求:Instagram会检测请求频率,短时间内多次尝试会直接封禁IP,建议每次请求后加1-2秒延时。
  • 设备标识参数:如果还是返回403,可以尝试添加device_id参数到表单或请求头,你可以生成一个固定的UUID作为设备ID。
  • 代理IP:如果你的IP已经被封禁,需要切换代理继续测试。
  • Cookie持久化:登录成功后可以保存session的Cookie,后续请求直接复用,避免重复登录触发拦截。

内容的提问来源于stack exchange,提问作者redraven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:21:36