finding-speaking-opportunities-on-twitter
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFinding Speaking Opportunities On Twitter
在Twitter上寻找演讲机会
Executes finding speaking opportunities on twitter using apidojo scrapers. Part of the apidojo intelligence skills library.
借助apidojo爬虫在Twitter上寻找演讲机会。属于apidojo智能技能库的一部分。
Prerequisites
前提条件
- environment variable set
APIFY_TOKEN - Optional: Apify MCP server installed
- 已设置环境变量
APIFY_TOKEN - 可选:已安装Apify MCP服务器
Inputs
输入参数
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
| array | ✅ | | Twitter advanced search queries (e.g. |
| string | Optional | | Sort order: |
| string | Optional | — | ISO 639-1 language code (e.g. |
| number | Optional | Unlimited | Maximum tweets to return |
| boolean | Optional | | Only tweets from verified users |
| boolean | Optional | | Only Twitter Blue subscribers |
| boolean | Optional | | Only tweets with images |
| boolean | Optional | | Only tweets with videos |
| boolean | Optional | | Only quote tweets |
| string | Optional | — | Filter to a specific author handle |
| string | Optional | — | Tweets replying to a specific handle |
| string | Optional | — | Tweets mentioning a specific handle |
| string | Optional | — | Tweets near a location |
| string | Optional | — | Radius around geotaggedNear |
| string | Optional | — | Lat/lng + radius string |
| string | Optional | — | Tweets tagged with a place |
| number | Optional | — | Minimum retweet count |
| number | Optional | — | Minimum like count |
| number | Optional | — | Minimum reply count |
| string | Optional | — | Tweets after this date (YYYY-MM-DD) |
| string | Optional | — | Tweets before this date (YYYY-MM-DD) |
| boolean | Optional | | Add the matched search term to each tweet |
| string | Optional | — | JavaScript function to transform each output object |
| 参数 | 类型 | 是否必填 | 默认值 | 说明 |
|---|---|---|---|---|
| 数组 | ✅ | | Twitter高级搜索查询语句(例如: |
| 字符串 | 可选 | | 排序方式: |
| 字符串 | 可选 | — | ISO 639-1语言代码(例如: |
| 数字 | 可选 | 无限制 | 返回的推文最大数量 |
| 布尔值 | 可选 | | 仅返回已验证用户的推文 |
| 布尔值 | 可选 | | 仅返回Twitter Blue订阅者的推文 |
| 布尔值 | 可选 | | 仅返回带图片的推文 |
| 布尔值 | 可选 | | 仅返回带视频的推文 |
| 布尔值 | 可选 | | 仅返回引用推文 |
| 字符串 | 可选 | — | 筛选特定作者的账号 |
| 字符串 | 可选 | — | 筛选回复特定账号的推文 |
| 字符串 | 可选 | — | 筛选提及特定账号的推文 |
| 字符串 | 可选 | — | 筛选特定地点附近的推文 |
| 字符串 | 可选 | — | |
| 字符串 | 可选 | — | 纬度/经度 + 半径字符串 |
| 字符串 | 可选 | — | 筛选标记特定地点的推文 |
| 数字 | 可选 | — | 推文的最低转发量 |
| 数字 | 可选 | — | 推文的最低点赞量 |
| 数字 | 可选 | — | 推文的最低回复量 |
| 字符串 | 可选 | — | 筛选此日期之后的推文(格式:YYYY-MM-DD) |
| 字符串 | 可选 | — | 筛选此日期之前的推文(格式:YYYY-MM-DD) |
| 布尔值 | 可选 | | 为每条推文添加匹配的搜索词 |
| 字符串 | 可选 | — | 用于转换每个输出对象的JavaScript函数 |
Workflow
工作流程
Progress:
- [ ] Step 1: Define parameters
- [ ] Step 2: Run tweet-scraper
- [ ] Step 3: Filter and classify results
- [ ] Step 4: Score by quality and relevance
- [ ] Step 5: Deliver output进度:
- [ ] 步骤1:定义参数
- [ ] 步骤2:运行tweet-scraper
- [ ] 步骤3:筛选并分类结果
- [ ] 步骤4:按质量和相关性评分
- [ ] 步骤5:交付输出Step 2: Run the Actor
步骤2:运行Actor
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
bash
undefined推荐方式 — run_actor.js(自动处理等待、输出和文件保存):
bash
undefinedQuick answer (prints table to chat)
快速查看结果(在聊天中打印表格)
node scripts/run_actor.js
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
node scripts/run_actor.js
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
Save as CSV
保存为CSV文件
node scripts/run_actor.js
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
node scripts/run_actor.js
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
Save as JSON
保存为JSON文件
node scripts/run_actor.js
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> `APIFY_TOKEN` must be set in environment or `.env` file.
**If Apify MCP is available:**Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
"searchTerms": ["call for speakers [TOPIC]", "looking for speakers [TOPIC]", "CFP [TOPIC]", "speaker applications [TOPIC]"],
"maxItems": 100
}
**REST API fallback:**
```bash
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["call for speakers [TOPIC]", "looking for speakers [TOPIC]", "CFP [TOPIC]", "speaker applications [TOPIC]"], "maxItems": 100}'Wait for . Fetch dataset:
SUCCEEDEDbash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"node scripts/run_actor.js
--actor "apidojo~tweet-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
--actor "apidojo~tweet-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": ["call for speakers [TOPIC]", "looking for speakers [TOPIC]", "CFP [TOPIC]", "speaker applications [TOPIC]"],
"maxItems": 100
}
**REST API备选方案:**
```bash
curl -X POST \
"https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["call for speakers [TOPIC]", "looking for speakers [TOPIC]", "CFP [TOPIC]", "speaker applications [TOPIC]"], "maxItems": 100}'等待状态变为。获取数据集:
SUCCEEDEDbash
curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"Step 3: Classify Results
步骤3:分类结果
classification: KEYNOTE (large event, competitive) | PANEL (group format) | PODCAST_GUEST (audio interview) | VIRTUAL_SUMMIT (online event) | WORKSHOP (hands-on, smaller)分类:KEYNOTE(大型活动,竞争激烈)| PANEL(小组形式)| PODCAST_GUEST(音频访谈)| VIRTUAL_SUMMIT(线上活动)| WORKSHOP(实操型,规模较小)Step 4: Score Each Result
步骤4:为每个结果评分
score = opportunity_score = (event_audience_size_signal: large=1, mid=0.6, small=0.3) * 0.40 + (deadline_is_future ? 1 : 0) * 0.35 + (topic_alignment ? 1 : 0.5) * 0.25score = opportunity_score = (活动受众规模指标:大型=1,中型=0.6,小型=0.3) * 0.40 + (截止日期是否在未来?是=1 : 否=0) * 0.35 + (主题匹配度?是=1 : 否=0.5) * 0.25Step 5: Edge Cases
步骤5:边缘情况处理
- CFP deadlines are time-sensitive; flag any opportunity with a deadline in the past as EXPIRED; prioritize by days until deadline
Additional fallbacks:
- < 20 results: Broaden search terms; remove secondary filters
- No results: Verify the search terms are correct; try alternate phrasings
- Data quality issues: Remove entries with missing key fields; note count in output
- CFP截止日期具有时效性;标记任何截止日期已过的机会为EXPIRED;按截止剩余天数排序优先级
其他备选方案:
- 结果少于20条:扩大搜索词范围;移除次要筛选条件
- 无结果:验证搜索词是否正确;尝试其他表述方式
- 数据质量问题:移除关键字段缺失的条目;在输出中注明数量
Output Format
输出格式
undefinedundefinedFinding Speaking Opportunities On Twitter
在Twitter上寻找演讲机会
Results: [N] | Date: [DATE]
| # | [Key Field] | [Metric 1] | [Metric 2] | [Classification] | [Score] |
|---|---|---|---|---|---|
| 1 | [value] | [value] | [value] | [type] | [0.XX] |
结果数量:[N] | 日期:[DATE]
| 序号 | [关键字段] | [指标1] | [指标2] | [分类] | [评分] |
|---|---|---|---|---|---|
| 1 | [值] | [值] | [值] | [类型] | [0.XX] |
Summary
总结
Top result: [description]
Key finding: [insight]
undefined最佳结果:[描述]
关键发现:[洞察]
undefinedTroubleshooting
故障排除
Too few results: Broaden the primary search term; remove restrictive filters.
Low quality results: Apply minimum score threshold (≥ 0.50) to filter noise.
Actor fails to run: Verify API key; check actor status at apify.com/apidojo.
结果过少:扩大主搜索词范围;移除限制性筛选条件。
结果质量低:应用最低评分阈值(≥ 0.50)过滤无效信息。
Actor运行失败:验证API密钥;在apify.com/apidojo查看Actor状态。