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

如何用Python修改网站识别的登录设备信息并统计用户设备数

Instagram设备标识修改与设备数量统计Python实现方案

Instagram识别登录设备的核心依据是客户端上报的设备特征参数,你看到的通知邮件里的设备型号,来自你登录请求时携带的设备元数据,不需要修改物理设备,直接篡改请求中的特征参数即可实现。
你收到的通知邮件中的设备信息格式如下:

Samsung SHV-E275K · Instagram · Cluj-Napoca, Romania

September 1 at 7:04 PM (PDT)

一、设备标识修改实现方式

1.1 纯接口请求方案

使用requests库模拟登录请求时,修改以下核心参数即可篡改平台识别到的设备信息:

  • 请求头中的User-Agent字段,替换为目标设备对应的UA字符串,比如要伪装成iPhone 14 Pro,就使用iOS端Instagram对应的UA
  • Instagram自定义请求头中的X-Device-Id、X-Android-Device、X-Client-Device-Info这类字段,将其中的设备型号、制造商、系统版本参数替换为你想要的值
  • 配套修改请求携带的时区、语言、屏幕分辨率参数,和你伪装的设备特征保持一致,避免被风控系统识别

示例代码片段:

import requests

headers = {
    # 替换为目标设备的UA
    "User-Agent": "Instagram 265.0.0.19.301 (iPhone15,2; iOS 16_5; en_US; en-US; scale=3.00; 1179x2556; 421655315) AppleWebKit/420+",
    # 替换自定义设备信息头,值为对应设备参数的Base64编码
    "X-Client-Device-Info": "eyJkZXZpY2VfbmFtZSI6ImlQaG9uZSAxNCBQcm8iLCJkZXZpY2VfbW9kZWwiOiJpUGhvbmUxNSwyIiwib3NfdmVyc2lvbiI6IjE2LjUifQ==",
    "Accept": "*/*"
}

# 携带构造好的头请求登录接口
resp = requests.post("https://www.instagram.com/accounts/login/ajax/", headers=headers, data={"username": "你的账号", "enc_password": "加密后的密码"})

1.2 浏览器自动化方案

如果不想手动构造所有参数,可以使用playwright或selenium的设备模拟功能,启动浏览器时直接指定目标设备,浏览器会自动生成所有匹配的设备特征参数,平台会直接识别为你指定的设备:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    # 直接调用内置的设备配置,也可以自定义设备参数
    iphone_14 = p.devices["iPhone 14 Pro"]
    browser = p.chromium.launch(headless=False)
    context = browser.new_context(**iphone_14)
    page = context.new_page()
    page.goto("https://www.instagram.com/accounts/login/")
    # 后续执行登录操作即可

二、登录设备数量统计实现

首先需要获取登录后的有效凭证(cookie或access token),请求Instagram的设备管理接口,解析返回的设备列表即可统计总数:

import requests
import json

# 替换为你登录后获取的sessionid
cookies = {"sessionid": "你的有效sessionid"}
resp = requests.get("https://www.instagram.com/api/v1/accounts/login_activity/", cookies=cookies)
data = json.loads(resp.text)
# 统计设备总数,可根据返回结构调整字段筛选规则
device_count = len([item for item in data["items"] if item.get("device")])
print(f"当前账号下登录设备总数:{device_count}")

三、注意事项

  • 该操作仅可用于个人合法测试用途,不得违反Instagram的服务条款,否则可能导致账号被限制或封禁
  • 伪装的设备参数需要尽可能匹配真实设备的特征,避免参数冲突触发风控
  • 频繁修改设备标识登录会提高账号异常风险,建议同一账号使用的设备参数保持稳定

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 00:36:00