用途
该技能用于发现目前在初创公司任职、可作为招聘对象的专业人士。它在 Twitter 上通过技能关键词、作品集/项目信号以及开放求职意愿等指标进行挖掘。Twitter 上主动讨论自身专业技能的人群构成一种较强的被动候选人信号。
主要能力
该技能基于 Apify 平台上的 apidojo Twitter 抓取工具(apidojo~tweet-scraper 与 apidojo~twitter-user-scraper)运行,支持以下输入参数:
| 参数 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| startUrls | array | 可选 | [] | Twitter 个人资料或推文 URL |
| twitterHandles | array | 可选 | [] | Twitter 用户名(不含 @) |
| twitterUserIds | array | 可选 | [] | Twitter 用户 ID |
| getFollowers | boolean | 可选 | false | 抓取粉丝列表 |
| getFollowing | boolean | 可选 | false | 抓取关注列表 |
| getRetweeters | boolean | 可选 | false | 抓取某条推文的转发者 |
| includeUnavailableUsers | boolean | 可选 | false | 是否包含不可用/被封禁用户 |
| maxItems | number | 可选 | Unlimited | 返回的最大用户数 |
| customMapFunction | string | 可选 | — | 用于转换每个输出对象的 JavaScript 函数 |
前置条件
- 设置 APIFY_TOKEN 环境变量
- 可选:安装 Apify MCP 服务器
使用方式
工作流共五步:
- 搜索特定角色的推文
- 收集去重的用户名
- 丰富个人资料
- 对候选人匹配度打分
- 交付候选人名单
Step 1:搜索查询
推荐使用 run_actor.js(自动处理等待、输出和文件保存):
# 快速回答(在聊天中打印表格)
node scripts/run_actor.js \
--actor "apidojo~twitter-user-scraper" \
--input '{"param": "value"}'
# 保存为 CSV
node scripts/run_actor.js \
--actor "apidojo~twitter-user-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# 保存为 JSON
node scripts/run_actor.js \
--actor "apidojo~twitter-user-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKEN 必须在环境或 .env 文件中设置。
如果 Apify MCP 可用:
工具:apify:run-actor Actor:"apidojo~tweet-scraper" 输入:
{
"searchTerms": ["at [COMPANY]", "engineer at [STARTUP]", "working at [SECTOR] startup"],
"maxItems": 300,
"tweetLanguage": "en"
}
REST API 备用方式:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["at [COMPANY]", "engineer at [STARTUP]", "working at [SECTOR] startup"], "maxItems": 300}'
从结果中收集去重的 author.username。
Step 2:丰富个人资料
如果 Apify MCP 可用:
工具:apify:run-actor Actor:"apidojo~twitter-user-scraper" 输入:{"usernames": ["[username1]", "[username2]", "..."]}
REST API 备用方式:
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"usernames": ["handle1", "handle2"]}'
Step 3:筛选与打分
技能确认:bio 包含关键词:"@[company]"、"prev:"、"formerly"、"ex-"、"startup"、"Series A"、"YC"、"Techstars"
职业变动信号:bio 或近期推文提到 'open to'、'looking for'、'next chapter' 或离职相关表述
候选人评分:
candidate_score = (skill_confirmed ? 1 : 0) * 0.35
+ (open_to_work_signal ? 1 : 0) * 0.30
+ (followerCount in 200..20000 ? 1 : 0.6) * 0.20
+ (tweeted_in_last_30_days ? 1 : 0) * 0.15
活跃度:活跃(少于 30 天)| 被动(30–90 天)| 休眠(超过 90 天)
Step 4:边界情况
结果中出现公司/品牌账号:过滤 followerCount > 50K 且 bio 中不含个人代词的账号,这些很可能是品牌账号
找到的候选人少于 20 个:放宽技能关键词;移除地点或资历筛选;尝试相邻技能
机器人检测:将 followerCount / followingCount < 0.05 且 tweetsCount < 20 标记为潜在机器人
地点不匹配:bio 中的地点是自由文本——使用模糊匹配;接受部分城市/国家名称
输出格式
# Professionals Currently Employed At Startups Candidates: [STARTUP_SECTOR]
Profiles found: [N] | Open-to-work: [N] | Active: [N] | Date: [DATE]
## Priority: Open-to-Work Candidates
| Name | @Handle | Specialty | Location | Followers | Last Active | Score |
|------|---------|----------|---------|-----------|------------|-------|
## Passive Candidates
| Name | @Handle | Specialty | Location | Followers | Score |
|------|---------|----------|---------|-----------|-------|
## Bio Highlights (Top 5)
1. @[handle]: "[bio excerpt]"
故障排查
- 结果全是机构/公司而非个人:增加个人代词筛选,或搜索 "I am a [role]"、"I do [skill]"
- 角色过于宽泛导致结果过多:增加地点或资历限定词
- 没有开放求职信号:大多数候选人不会公开表示——可将被动候选人视为温和线索,通过引用其近期内容进行个性化触达
适用场景
招聘人员在 Twitter 上寻找在职于初创公司的候选人才,尤其是需要按技能关键词、职业变动信号和活跃度筛选被动候选人时。
限制
关于收费、价格、平台覆盖范围或具体效果,资料未提供相关信息。