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

使用snscrape爬取Instagram标签时出现IndexError,求解决

解决snscrape爬取Instagram标签时的IndexError问题

这个错误的核心原因是Instagram更新了网页结构,snscrape旧版本依赖的window._sharedData字段已不存在或位置变更,导致split操作后无法获取对应索引的元素。

以下是可行的解决办法:

  • 升级snscrape到最新版本
    开发者通常会跟进Instagram的页面变化修复问题,执行命令更新:

    pip install --upgrade snscrape
    

    更新后重新运行代码,大概率能解决问题。

  • 添加登录凭证绕过访问限制
    目前Instagram对未登录用户的内容访问限制越来越严格,即使升级库也可能爬不到数据。可以通过传入登录后的Cookie绕过限制:

    1. 在浏览器登录Instagram,打开开发者工具(F12),找到Cookie中的sessionid字段;
    2. 修改代码,初始化Scraper时传入cookie参数:
      import snscrape.modules.instagram as sninstagram
      
      query = 'google'
      # 替换成你自己的sessionid值
      cookies = {'sessionid': '你的sessionid内容'}
      scraper = sninstagram.InstagramHashtagScraper(query, cookies=cookies)
      for ins in scraper.get_items():
          print(vars(ins))
          break
      
  • 备选方案:使用instagrapi库
    如果snscrape始终无法适配,instagrapi是专门针对Instagram的爬虫库,对登录和内容爬取的支持更稳定,示例代码:

    from instagrapi import Client
    
    cl = Client()
    # 替换成你的Instagram账号密码
    cl.login('你的账号', '你的密码')
    # 获取标签下的最新内容
    medias = cl.hashtag_medias_recent('google', amount=10)
    for media in medias:
        print(media.dict())
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 02:45:33