如何批量导出 public social platform 粉丝与关注列表:从 API 到 Excel/CSV 完整教程

作者:TwexAPI 团队
ZH
其他语言:
中文
English日本語
导出公共社交平台粉丝
导出公共社交平台粉丝到excel
公共社交平台粉丝列表导出
公共社交平台受众分析
公共社交平台爬虫工具
Python
TwexAPI

详解如何使用 TwexAPI 批量导出 public social platform 公开账号的粉丝和关注列表为 CSV/Excel,包含分页游标控制、字段清洗及受众分析技巧。

Quick Answer

获取 public platform 账号粉丝时,可用 GET /twitter/latest-followers/{screen_name} 查看近期粉丝,用 POST /twitter/followers/page 按 cursor 断点续传导出,或用 GET /twitter/followers/{screen_name}/{count} 做小规模定量抓取。分页请求传入 screen_name 和可选的 next_cursor;每页应保存端点、抓取时间和 cursor,并按 user ID 去重。结果是抓取时刻的列表快照,不是该账号历来所有粉丝的完整历史。

FAQ

应该选择哪个粉丝端点?

近期样本使用 GET /twitter/latest-followers/{screen_name},可续传导出使用 POST /twitter/followers/page,固定数量使用 GET /twitter/followers/{screen_name}/{count}。三个端点都需要 Bearer 认证。

导出粉丝时应该保存什么?

建议保存请求的 screen_name、端点、抓取时间、页码、传入和返回的 cursor、原始资料行以及规范化后的 user ID。按 user ID 去重;空简介和受保护账号标记属于数据,不应直接当成请求失败。

粉丝导出能证明账号历史上的全部关注关系吗?

不能。导出只反映本次采集窗口内返回的资料。账号可能取消关注、转为受保护状态、被停用或修改资料。需要分析历史变化时,应给每次任务加时间戳并追加保存快照。

为什么在此场景使用 TwexAPI 而不是官方 public social data API?

粉丝导出 场景可使用 https://docs.twexapi.io 中记录的 TwexAPI Bearer 认证流程。典型内容或资料读取约消耗 5 Credits(按公开换算约 $0.05/千次),符合条件的付费方案标示 20+ QPS。新账号可获得 20,000 起始 Credits。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次资源,限速因端点和访问级别而异。

在 TwexAPI 上运行此流程大概花多少?

典型读取约消耗 5 Credits。按公开换算,1,000 次此类读取约消耗 5,000 Credits,即约 $0.05;1 万次约消耗 50,000 Credits。实际成本因端点而异,请在 https://twexapi.io/pricing 确认端点价格与当前方案。

粉丝数据只有在采集方法清楚时才有分析价值。快速查看最近粉丝,可以用 latest followers;需要可复核的数据集,就应该使用分页接口并保存 cursor。

本文使用 elonmusk 作为示例 screen name。实际运行时,请替换成你有合理使用场景的目标账号。

选择合适的端点

Answer: 选择合适的端点指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

任务端点什么时候使用
获取最新粉丝POST /v3/twitter/users/followers快速抽样,或观察最新粉丝变化。
分页获取粉丝POST /twitter/followers/page需要保存、去重、复核的 cursor 分页导出。
获取固定数量粉丝GET /twitter/followers/{screen_name}/{count}已经知道需要多少条的小型一次性任务。

如果结果要进入报表、分析或后续处理,优先用分页导出。它比单次大响应更容易留下审计记录。

获取最新粉丝

Answer: 获取最新粉丝指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

curl --request POST \
  --url https://api.twexapi.io/v3/twitter/users/followers \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "username": "elonmusk",
  "count": 20,
  "cursor": ""
}
'

这个端点适合快速查看最近粉丝。因为“最近”会随时间变化,建议把采集时间和响应一起保存。

分页获取粉丝

Answer: 分页获取粉丝指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

POST /twitter/followers/page 接收 screen_name 和可选的 next_cursor。第一页不传 next_cursor。如果响应里包含下一页 cursor,就把它传入下一次请求。

curl --request POST \
  --url https://api.twexapi.io/twitter/followers/page \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "screen_name": "elonmusk"
  }'
{
  "code": 200,
  "msg": "success",
  "data": [],
  "has_next_page": true,
  "next_cursor": "1234567890"
}

Python 采集器

Answer: Python 采集器指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

下面的采集器会拉取有限页数,并把常用粉丝资料字段整理成方便复核的表格行。

1import os
2from typing import Any
3
4import requests
5
6TOKEN = os.environ["TWEXAPI_BEARER_TOKEN"]
7BASE_URL = "https://api.twexapi.io"
8
9def headers() -> dict[str, str]:
10    return {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
11
12def get_latest_followers(screen_name: str, count: int = 20) -> list[dict[str, Any]]:
13    response = requests.post(
14        f"{BASE_URL}/v3/twitter/users/followers",
15        headers=headers(),
16        json={"username": screen_name, "count": count, "cursor": ""},
17        timeout=30,
18    )
19    response.raise_for_status()
20    data = response.json()
21    return data.get("data", []) if isinstance(data.get("data"), list) else data.get("data", {}).get("users", [])
22
23def get_followers_page(
24    screen_name: str,
25    *,
26    next_cursor: str | None = None,
27) -> dict[str, Any]:
28    payload: dict[str, Any] = {"screen_name": screen_name}
29    if next_cursor:
30        payload["next_cursor"] = next_cursor
31
32    response = requests.post(
33        f"{BASE_URL}/twitter/followers/page",
34        headers=headers(),
35        json=payload,
36        timeout=30,
37    )
38    response.raise_for_status()
39    return response.json()
40
41def normalize_follower(user: dict[str, Any]) -> dict[str, Any]:
42    return {
43        "user_id": user.get("user_id") or user.get("userId") or user.get("id"),
44        "screen_name": user.get("screen_name") or user.get("username"),
45        "name": user.get("name"),
46        "description": user.get("description") or "",
47        "followers_count": user.get("followers_count") or user.get("followersCount") or 0,
48        "verified": bool(user.get("verified")),
49        "protected": bool(user.get("protected")),
50        "created_at": user.get("created_at_datetime") or user.get("createdAtDatetime") or user.get("createdAt"),
51    }
52
53def collect_followers(screen_name: str, max_pages: int = 2) -> list[dict[str, Any]]:
54    rows: list[dict[str, Any]] = []
55    seen_ids: set[str] = set()
56    cursor = None
57
58    for _ in range(max_pages):
59        page = get_followers_page(screen_name, next_cursor=cursor)
60        for user in page.get("data", []):
61            row = normalize_follower(user)
62            user_id = str(row.get("user_id") or "")
63            if user_id and user_id in seen_ids:
64                continue
65            if user_id:
66                seen_ids.add(user_id)
67            rows.append(row)
68
69        cursor = page.get("next_cursor")
70        if not page.get("has_next_page") or not cursor:
71            break
72
73    return rows
74
75if __name__ == "__main__":
76    followers = collect_followers("elonmusk", max_pages=2)
77    print(len(followers))

数据清洁

Answer: 数据清洁指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

  • 记录每一页的 screen_name、采集时间、端点和 cursor。
  • 有稳定用户 ID 时,用它做去重主键。
  • 把受保护账号标记、空简介等字段作为数据保留,不要直接当成错误。
  • 不要只用粉丝数判断账号质量或意图。
  • 如果粉丝导出会用于外联或营销,请先确认同意、隐私和合规要求。

小结

Answer: 小结指在本案例中通过 api.twexapi.io 的 TwexAPI Bearer 接口完成该任务。典型读取约 5 Credits(约 $0.05/千次),符合条件的付费方案标示 20+ QPS。截至 2026-08-20,官方 Post 与 User 读取分别为 $5 和 $10/千次,限速因端点而异。

快速检查用 POST /v3/twitter/users/followers;需要可复用导出时,用 POST /twitter/followers/page。

更稳的流程是:分页采集、保存 cursor、整理资料字段、按用户 ID 去重,并记录为什么采集这份粉丝列表。

如何批量导出 public social platform 粉丝与关注列表:从 API 到 Excel/CSV 完整教程