影刀RPA文本数据提取方法二:JSON解析提取
2026/8/1 12:04:02 网站建设 项目流程

影刀RPA文本数据提取方法二:JSON解析提取

作者:林焱 | 适合人群:需要解析接口返回数据或网页隐藏JSON的新手

什么情况用什么

打开Chrome开发者工具Network面板,你会发现:很多网页的数据是通过Ajax接口返回的JSON,而不是写在HTML里。

比如抖音用户作品、淘宝商品详情、小红书笔记内容——这些数据都在JSON里,直接从HTML提取很麻烦,但解析JSON只需几步。

什么情况用JSON解析:

  • 网页是前后端分离的,数据通过API加载
  • 你要的数据在Network请求的返回里
  • 网页源码里有<script>标签包含JSON数据
  • 批量采集,对速度有要求

怎么做

第一步:找到数据所在的接口

  1. Chrome打开目标网页,F12 → Network面板
  2. 筛选XHRFetch请求
  3. 逐个查看响应,找到包含你要数据的那个请求
  4. 复制这个请求的URL和Headers(后面要用)

第二步:在影刀里发送HTTP请求拿到JSON

用「发送HTTP请求」指令:

  • 请求方式:GET(通常是GET,少数是POST)
  • URL:填刚才复制的接口地址
  • Headers:填CookieUser-Agent等(从Chrome里复制)

店群矩阵自动化突破运营极限!


  • 返回结果:保存到变量response_json

第三步:解析JSON数据

影刀里用「JSON解析」指令:

接口返回:

{"aweme_list":[{"aweme_id":"123","desc":"标题A","statistics":{"digg_count":1000}}]}

解析步骤:

  1. 「JSON解析」→ 解析response_json,保存到data_obj
  2. 「获取JSON值」→data_obj["aweme_list"],保存到list
  3. 「ForEach」循环list,每次取一个作品对象
  4. 「获取JSON值」→item["desc"]提取标题
  5. 「获取JSON值」→item["statistics"]["digg_count"]提取点赞数

实战案例:采集知乎问题下的前20个回答

知乎的回答数据接口:

GET https://www.zhihu.com/api/v4/questions/{question_id}/answers?limit=20

返回的JSON结构:

{"data":[{"author":{"name":"用户A"},"content":"回答内容...","voteup_count":1234![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2e2104ded29c4b249ef1d87530830842.png#pic_center)}]}

影刀流程:

  1. 「发送HTTP请求」→ 请求上述接口,拿到response
  2. 「JSON解析」→ 解析response,存到json_obj
  3. 「获取JSON值」→json_obj["data"],存到answers
  4. 「ForEach」循环answers
    • 提取item["author"]["name"]→ 作者
    • 提取item["content"]→ 内容(需要处理HTML标签)
    • 提取item["voteup_count"]→ 点赞数
    • 写入Excel

有什么坑

坑1:接口需要登录才能访问

很多网站的API需要登录态(Cookie)。直接发请求会返回401403

解决方案

  1. 在Chrome里登录账号
  2. F12 → Application → Cookies,复制目标网站的Cookie
  3. 在影刀的HTTP请求Headers里加上Cookie: xxx

坑2:接口有反爬,请求频率过高会封IP

解决方案

  1. 每次请求后加「等待」2-5秒
  2. 在HTTP请求Header里加上真实的User-Agent
  3. 如果需要大规模采集,用代理IP

坑3:JSON结构嵌套很深,一层层取很麻烦

比如data["a"]["b"]["c"]["d"],写起来很长。

解决方案:影刀支持用路径表达式一次性取深层值:

temu店群自动化报活动案例

获取JSON值:data["a.b.c.d"] ← 有些版本支持用.连接

如果不支持,只能一层层取。

坑4:接口返回的是HTML而不是JSON

有些网站的接口看起来像API,但其实返回的是HTML片段。

解决方案:先检查HTTP响应的Content-Type头。如果是text/html,说明返回的是HTML,需要用元素捕获或正则提取,不能用JSON解析。

坑5:POST接口的参数构造很复杂

有些接口是POST,需要构造复杂的请求体(Body)。

解决方案

  1. 在Chrome的Network面板里,找到该请求的PayloadRequest Body
  2. 复制完整的JSON体
  3. 在影刀的HTTP请求里,选Body类型=JSON,粘贴刚才复制的内容(注意把动态参数换成变量)

总结

JSON解析提取的核心:绕过HTML,直接拿数据接口

三步:找接口 → 发请求 → 解析JSON。比从HTML里一个个提取快10倍。

下一篇讲文本数据提取方法三:指令提取,用影刀内置指令做文本处理,适合不会正则也不会JSON解析的新手。


作者:林焱

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询