线索抓取与验证
目标
使用Apify(code_crafter/leads-finder)抓取线索,验证其相关性(行业匹配度>80%),并保存到Google Sheet中。对于大规模抓取(1000条以上),使用并行抓取以获得3-5倍的性能提升。
输入
- 行业:目标行业(例如,“水管工”、“软件代理机构”)
- 地点:目标地点(例如,“德克萨斯州”、“美国”、“加利福尼亚州”)。脚本会自动格式化以适应Apify的要求(美国州名会自动添加“, us”后缀)。
- 总数:所需线索的总数量
脚本
所有脚本位于./scripts/目录下:
scrape_apify.py- 单次抓取,适用于少于1000条线索scrape_apify_parallel.py- 并行抓取,适用于1000条及以上线索classify_leads_llm.py- 基于LLM的线索分类enrich_emails.py- 通过AnyMailFinder进行电子邮件丰富update_sheet.py- 批量更新表格read_sheet.py- 从Google Sheets读取数据
流程
小规模抓取(少于1000条线索)
-
测试抓取
python3 ./scripts/scrape_apify.py --query "行业" --location "地点" --max_items 25 --no-email-filter --output .tmp/test_leads.json -
验证
- 读取
.tmp/test_leads.json - 检查是否至少20/25(80%)的线索符合行业要求
- 通过:进入步骤3
- 失败:停止并询问用户优化关键词
- 读取
-
完整抓取
python3 ./scripts/scrape_apify.py --query "行业" --location "地点" --max_items 总数 --no-email-filter --output .tmp/leads.json -
[可选] LLM分类(适用于复杂细分领域)
python3 ./scripts/classify_leads_llm.py .tmp/leads.json --classification_type product_saas --output .tmp/classified_leads.json -
上传至Google Sheet
python3 ./scripts/update_sheet.py .tmp/leads.json --title "线索 - 行业" -
丰富缺失的电子邮件
python3 ./scripts/enrich_emails.py SHEET_URL
大规模抓取(1000条及以上线索)
-
测试抓取(与上述相同,使用25条)
-
并行完整抓取
python3 ./scripts/scrape_apify_parallel.py \ --query "行业" \ --total_count 4000 \ --location "美国" \ --strategy regions \ --no-email-filter地理分区自动进行:
- 美国:4个区域(东北部、东南部、中西部、西部)
- 欧盟/欧洲:4个区域(西部、南部、北部、东部)
- 英国:4个区域(东南英格兰、北英格兰、苏格兰/威尔士、西南英格兰)
- 加拿大:4个区域(安大略省、魁北克省、西部、大西洋地区)
- 澳大利亚:4个区域(新南威尔士州、维多利亚州/塔斯马尼亚州、昆士兰州、西澳大利亚州/南澳大利亚州)
-
继续执行小规模抓取的步骤4-6
输出
唯一可交付成果是Google Sheet URL。 .tmp/目录中的本地JSON文件是临时中间文件。
边缘情况
- 未找到线索:询问用户扩大搜索范围
- API错误:检查
.env中的凭据 - 低质量分类:如果超过80%为“不明确”,则改进抓取关键词
环境
需要在.env中设置:
APIFY_API_TOKEN=your_token
GOOGLE_APPLICATION_CREDENTIALS=path/to/credentials.json
ANTHROPIC_API_KEY=your_key
ANYMAILFINDER_API_KEY=your_key
模式
输入
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
industry | 字符串 | 是 | 目标行业(例如,“水管工”、“软件代理机构”) |
location | 字符串 | 是 | 目标地点(例如,“德克萨斯州”、“美国”) |
total_count | 整数 | 是 | 所需线索的总数量 |
classification_type | 字符串 | 否 | LLM分类类型(例如,“product_saas”) |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
sheet_url | 字符串 | 包含抓取线索的Google Sheet URL |
lead_count | 整数 | 找到的线索数量 |
凭据
| 名称 | 来源 |
|---|---|
APIFY_API_TOKEN | .env |
GOOGLE_APPLICATION_CREDENTIALS | .env |
ANTHROPIC_API_KEY | .env |
ANYMAILFINDER_API_KEY | .env |
可链式集成的技能
与此技能良好链式集成的技能:classify-leads、casualize-names、instantly-campaigns、onboarding-kickoff
成本
每条线索$0.01-0.02 + 分类费用$0.30/千条