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

在Jupyter Notebook运行instascrape时遇JSONDecodeError求助

解决instascrape爬取Instagram地点数据时的JSONDecodeError错误

这个错误本质是Instagram的反爬机制在起作用——你用默认请求方式发起的请求被拦截了,返回的不是合法的JSON数据(可能是HTML页面或者反爬验证内容),导致解析JSON时失败。

下面是具体的解决步骤:

  • 获取合法请求头:打开浏览器登录Instagram,访问目标地点页面,按F12打开开发者工具→Network标签→刷新页面,找到第一个文档请求,复制Request Headers里的User-Agent和Cookie(Cookie包含你的登录会话信息,必须要有)。
  • 带请求头发起请求:用requests.Session封装请求头,传给scrape方法。

修改后的代码示例:

from instascrape import Location
import requests

# 替换成你从浏览器获取的实际值
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
    "Cookie": "你的Instagram登录Cookie内容"
}

# 创建带请求头的会话
session = requests.Session()
session.headers.update(headers)

url = 'https://www.instagram.com/explore/locations/212988663/new-york-new-york/'
new_york = Location(url)
new_york.scrape(session=session)

# 测试输出地点名称和帖子数
print(new_york.name)
print(new_york.posts)

注意事项:

  • Cookie有有效期,过期后需要重新从浏览器获取
  • 不要频繁发起请求,避免被Instagram封禁账号或IP

内容的提问来源于stack exchange,提问作者Muhammad Anas Jamshed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 01:50:33