MBA.

中文社媒正文抓取:免费方案

Brand Watch 的 W2(社交社区)要拿知乎 / 微博 / 小红书的正文全文时,阿里云无影(付费)之外的免费替代方案调研 + 一份本机可跑的抓取脚本。Markdown 版见 docs/18-social-fulltext.md

01 · 先厘清:缺的是"正文全文",不是"事件信号"

你要的需要什么现状
事件级信号(话题火了 + 链接 + 标题)WebSearch 就够✅ 已在跑(见 /watch/)
正文全文(大段逐字引用)登录态 + 过反爬的真浏览器❌ 缺口(本页解决)

02 · 关键结论:Full 网络解锁一半,China IP 才是真墙

把环境出站策略切到 Full 后实测(2026-07-13):

结果
出口网关✅ 全放行(curl paulgraham=200;社媒三家 302 是站点跳转,非网关拒)
curl 取正文❌ 知乎=648B 反爬壳 · 微博=登录墙 · 小红书=JS 应用壳
沙箱 Playwright 经代理❌ 连不通(控制组 paulgraham 亦 ERR_CONNECTION_RESET)

Full 对 curl-able 源(paulgraham/a16z/36氪/新浪…)是真解锁;但对知乎/微博/小红书这三家反爬 + 登录墙站无效。

03 · 免费替代品调研(无影 = 付费)

类别免费选项说明
指纹/防关联浏览器(桌面)GoLogin(永久免费 3 环境)· AdsPower(免费档)· Dolphin Anty(免费)Cookie 隔离持久化 = 登录态;反指纹强;桌面 GUI,你自己机器跑
开源/免费云浏览器 APISteel.dev(开源自托管全免费)· Browserless(开源+云免费档)· Browserbase(云免费 1h)可编程可从服务端调;但机房在美/欧
纯开源库Playwright + storageState(全免费)原生"登录一次、存 session、复用"——登录态根本不用付费工具
⚠️ 但免费工具都补不上的三件事(无影的真正壁垒):
  1. 真实账号 + 过验证:短信 2FA + 滑块/点选验证码,手动、按账号来,换什么工具都一样;
  2. China IP ⭐:知乎/微博/小红书重度封禁境外/机房 IP。无影跑在阿里云中国机房才过得去;境外免费云浏览器(Steel/Browserless/Browserbase 都是美/欧机房)即使登录也大概率被验证码/封。免费云浏览器补不上"中国 IP"这一环。
  3. ToS / 封号风险:用登录账号抓取违反三家 ToS,账号有被限/封风险。

一句话:最省钱的路是在你自己的中国机器上用 GoLogin 免费版 / 纯 Playwright + storageState,而不是找一个"能从服务端自动跑的免费云浏览器"(那个基本不存在)。

04 · 本机抓取脚本

脚本 scripts/social-fetch/zhihu_fetch.mjs —— Playwright + storageState,知乎公开页正文抓取。在你自己机器 + 中国网络跑。(看源码 →)

npm init -y && npm i playwright && npx playwright install chromium

# 首次:弹浏览器,手动登录一次(短信/扫码/验证码人工过),存 session
node scripts/social-fetch/zhihu_fetch.mjs login

# 之后:复用 session 抓正文(打印 标题 + 正文 + quote 候选)
node scripts/social-fetch/zhihu_fetch.mjs https://zhuanlan.zhihu.com/p/364234140

会话过期(几周~几月)重跑 login 刷新。微博/小红书同理,换选择器即可(登录墙更硬,小红书大量内容 App-only)。

05 · 红线(不可动)