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

instapy-0.6.14执行like_by_tags时报KeyError:0错误如何解决?

问题根因

这个KeyError: 0是instapy 0.6.14版本的常见问题,核心原因有两个:一是Instagram前端接口返回结构发生了更新,旧版本instapy的解析逻辑无法匹配新的返回格式;二是0.6.14版本本身不支持Python 3.10,版本兼容性问题也会触发解析异常。

排查与解决步骤
  • 首先降级Python版本,instapy 0.6.14最高兼容Python 3.9,卸载你当前的Python 3.10,安装Python 3.9版本后重新安装instapy依赖。
  • 修正标签传参格式,like_by_tags方法会自动给标签补全#前缀,你不需要手动加,把入参从["#carz"]改为["carz"]即可,错误的标签格式会导致搜索结果为空,同样会触发该报错。
  • 修改instapy源码的解析逻辑,找到报错路径下的C:\Users\sonu3\AppData\Local\Programs\Python\Python310\lib\site-packages\instapy\like_util.py文件,定位到618行的media = post_page[0]["shortcode_media"]代码,替换为如下适配逻辑:
if isinstance(post_page, list) and len(post_page) > 0:
    media = post_page[0]["shortcode_media"]
else:
    # 适配Instagram新返回结构
    if 'items' in post_page and len(post_page['items']) > 0:
        media = post_page['items'][0]['media']
    else:
        # 无有效内容直接跳过
        return True, None, False, "no valid post available", None
  • 优化启动代码,推荐使用官方推荐的smart_run上下文管理器管理会话,避免会话异常退出引发的解析错误,修改后的业务代码参考:
from instapy import InstaPy
from instapy import smart_run

# 登录凭证
insta_username = '****'
insta_password = '****'

# 初始化会话,关闭无头模式方便调试
session = InstaPy(username=insta_username, password=insta_password, headless_browser=False)

with smart_run(session):
    session.like_by_tags(["carz"], amount=5)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:45:03