虾星球数据源调研
调研目的:雪球日报想新增”虾星球关注的人动态”数据源,评估能否抓取。结论:能,但需登录态(Bearer JWT),且无网页版,不能走 CDP。
一、虾星球是什么
- 定位:AI 打造的投资学习社区 App,让用户的长期表达、研究资料沉淀为可被 AI 检索调用的个人知识资产,初期聚焦投资领域
- 开发商:莫大源创北京科技有限公司
- 上线时间:2026-08-12(调研当天刚上线,v1.0.3)
- 技术栈:React Native + Expo SDK 54,Hermes 字节码,JPush 推送 + 阿里云安全组件 + 华为 HMS
- 特色:实名认证后发言,AI Agent 与真人用户共创交流
二、能否抓取”关注的人”信息
| 项 | 结论 |
|---|---|
| 网页版 | ❌ 无。xiaxingqiu.cn 只是 App 下载落地页(SPA,纯 download 组件,无业务 API) |
| 业务 API | ✅ https://api.xiaxingqiu.cn,标准 REST,已确认存活 |
| 关注流端点 | ✅ GET /api/v1/feed/following(关注的人动态流) |
| 认证 | 🔒 Bearer JWT(access_token + refresh_token) |
| 未登录实测 | GET /api/v1/feed/following → HTTP 200,业务 code:10401 未登录或登录已过期 |
关键门槛:虾星球是纯 App,无网页版,不能像雪球那样用浏览器登录态直接 CDP 抓。必须拿到 App 登录后的 access_token 才能调 API。
三、API 结构(已探明端点)
从 APK 的 Hermes bytecode(
assets/index.android.bundle)字符串表提取,反编译确认。
认证 /api/v1/auth/
sms/send— 发送短信验证码phone/loginByOtp— 手机号 + 验证码登录(字符串为phone/loginByO...)oauth/login— OAuth 登录refresh— 刷新 tokenlogout— 登出realname/startrealname/resultrealname/cancelrealname/skip— 实名认证流程
Feed(核心)/api/v1/feed/
following— 关注流(本次接入目标)recommend— 推荐流square— 广场circle— 圈子流topic— 话题流
用户 /api/v1/users/
me/followers— 我的粉丝列表me/blocks— 拉黑列表me/profile-summary— 个人资料摘要me/settingsme/interest-tagsme/account-securityme/deactivate- (
following关注列表入口待进一步确认,bundle 中有getFollowing/validateFollowRelation查询键)
帖子与互动
/api/v1/posts— 帖子/api/v1/comments/— 评论/api/v1/interactions/favorited-postsliked-postsdislikesuper-like
搜索 /api/v1/search/
userspoststopicsdiscovery/creatorsdiscovery/topics
AI /api/v1/ai/
chatinsightconversationsinbox/openedinbox/unread-countersmessages/feedbackshare/resolve
其他
/api/v1/topics/rankingrecentsearch/api/v1/circles/discoveryhome/api/v1/notifications/readunread/api/v1/creator/knowledge-base/overviewimports/api/v1/wallet/balancetransactions/api/v1/push/devices/registerunregister
四、认证机制
- 标准 Bearer JWT,三段式(bundle 内有 JWT 正则与
Bearer\s+token匹配逻辑) - token 存 App 本地(AsyncStorage/secure store)
- 有
refresh_token续期机制,可脚本自动续期
五、接入方案(待实施)
| 方案 | 做法 | 优缺点 |
|---|---|---|
| A. 抓包拿 token | 手机已登录虾星球 → 抓一次 HTTPS 请求拿 access_token + refresh_token → 脚本用 refresh 续期 | 一次配置长期用,但需配置代理抓包(Proxyman/Charles/mitmproxy) |
| B. 短信登录脚本 | 脚本走 sms/send + phone/loginByOtp,手机收码 | 首次需收码,refresh 过期后重收 |
接入后需做的改动:写虾星球抓取脚本 → 复用评分脚本思路(关注流单独板块)→ 改日报生成流程,在”👥 关注的人动态汇总”后新增”🦐 虾星球关注动态”板块。
六、关键资源
| 资源 | 地址 |
|---|---|
| API 域名 | https://api.xiaxingqiu.cn |
| 官网(下载页) | https://xiaxingqiu.cn/ |
| Android APK | https://download.xiaxingqiu.cn/android/releases/xiaxingqiu-1.0.3-19-a442ba40a43c.apk |
| iOS App Store | https://apps.apple.com/cn/app/id6784556514 |
| 版本更新配置 | https://xiaxingqiu.cn/app-updates/android.json |
| 包名 | com.xiaxingqiu.app |
| URL scheme | xiaxingqiu |
待办
- 确认
refresh_token有效期(决定方案 B 体验)- 确认
/feed/following分页参数(page/size/cursor)- 确认关注列表端点(
getFollowing对应完整路径)