
Ethan Collins
Pattern Recognition Specialist

AI代理执行尽职调查、潜在客户增强和合规检查需要来自政府企业注册机构的结构化公司数据——包括注册详情、负责人姓名、文件状态和注册地址。这些注册机构部署了CAPTCHA保护,阻止自动化验证流程。本指南介绍了如何使用CapSolver构建企业注册数据提取管道,以保持对州、联邦和国际公司数据库的访问。
企业注册机构是公司验证的权威来源。当AI代理需要确认公司是否存在、检查其当前状态、识别负责人或验证其注册地址时,它会查询这些政府数据库。问题在于,几乎每个企业注册机构都部署了CAPTCHA保护以防止批量自动化访问。
这为执行以下任务的AI代理造成了瓶颈:
SEC EDGAR、州务卿数据库、英国公司局和欧盟企业注册机构均部署了验证挑战。如果没有自动化解决,每天执行100次公司验证的AI代理将面临30-50次手动CAPTCHA干预——使自主操作成为不可能。
pip install git+https://github.com/capsolver-ai/capsolver-core.git
pip install aiohttp beautifulsoup4 pandas
export CAPSOLVER_API_KEY="your-capsolver-api-key"
其他要求:
BUSINESS_REGISTRIES = {
"delaware_sos": {
"name": "特拉华州州务卿",
"url": "https://icis.corp.delaware.gov",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"data": ["entity_name", "file_number", "status", "formation_date", "agent"]
},
"california_sos": {
"name": "加利福尼亚州州务卿",
"url": "https://bizfileonline.sos.ca.gov",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"data": ["entity_name", "number", "status", "type", "jurisdiction", "agent"]
},
"uk_companies_house": {
"name": "英国公司局",
"url": "https://find-and-update.company-information.service.gov.uk",
"captcha_type": "ReCaptchaV2TaskProxyLess",
"data": ["company_name", "number", "status", "type", "incorporated", "officers"]
},
"sec_edgar": {
"name": "SEC EDGAR",
"url": "https://www.sec.gov/cgi-bin/browse-edgar",
"captcha_type": "ImageToTextTask",
"data": ["company_name", "cik", "filings", "sic_code", "state"]
}
}
import asyncio
from capsolver_core import create_capsolver, CaptchaType, CaptchaInfo
class BusinessRegistryExtractor:
"""通过处理CAPTCHA从政府注册机构提取业务数据。"""
def __init__(self, api_key: str, proxies: list):
self.cap = create_capsolver(api_key=api_key)
self.proxies = proxies
self.proxy_idx = 0
async def verify_company(self, company_name: str, jurisdiction: str) -> dict:
"""在特定司法管辖区的注册机构中验证公司。"""
registry = BUSINESS_REGISTRIES.get(jurisdiction)
if not registry:
return {"error": f"不支持的司法管辖区: {jurisdiction}"}
proxy = self.proxies[self.proxy_idx % len(self.proxies)]
self.proxy_idx += 1
# 搜索注册机构
html = await self._search_registry(registry, company_name, proxy)
# 处理CAPTCHA
if self._is_captcha(html):
token = await self._solve(registry)
html = await self._retry_search(registry, company_name, proxy, token)
# 解析结果
return self._parse_registry_result(html, registry)
async def _solve(self, registry: dict) -> str:
type_map = {
"ReCaptchaV2TaskProxyLess": CaptchaType.RECAPTCHA_V2,
"ImageToTextTask": CaptchaType.RECAPTCHA_V2 # 不同的处理方式
}
info = CaptchaInfo(
type=type_map[registry["captcha_type"]],
website_url=registry["url"],
website_key=registry.get("site_key", "")
)
solution = await self.cap.solve(info)
return solution.token
async def bulk_verify(self, companies: list, jurisdiction: str) -> list:
"""批量验证多个公司。"""
results = []
for company in companies:
result = await self.verify_company(company, jurisdiction)
results.append(result)
await asyncio.sleep(3) # 尊重速率限制
return results
async def close(self):
await self.cap.aclose()
class CompanyVerificationAgent:
"""用于业务验证工作流的AI代理层。"""
def __init__(self, extractor: BusinessRegistryExtractor):
self.extractor = extractor
async def full_verification(self, company_name: str) -> dict:
"""在多个注册机构中运行完整的验证。"""
results = {}
# 检查主要美国注册机构
for jurisdiction in ["delaware_sos", "california_sos"]:
result = await self.extractor.verify_company(company_name, jurisdiction)
if result.get("status") == "Active":
results["us_registration"] = result
break
# 检查SEC以获取上市公司
sec_result = await self.extractor.verify_company(company_name, "sec_edgar")
if sec_result.get("cik"):
results["sec_filing"] = sec_result
# 编制验证报告
return {
"company": company_name,
"verified": bool(results),
"registrations": results,
"verification_date": time.strftime("%Y-%m-%d")
}
| 验证用例 | 检查的注册机构 | 每次检查的CAPTCHA | 每家公司耗时 |
|---|---|---|---|
| 基本存在性检查 | 1个州注册机构 | 1 | 5-15秒 |
| 多司法管辖区 | 3-5个注册机构 | 3-5 | 20-60秒 |
| 完整尽职调查 | 5-8个注册机构 + SEC | 5-8 | 45-120秒 |
| 批量潜在客户增强 | 每家公司1个注册机构 | 每家公司1个 | 每个5-10秒 |
| 体积 | 每月验证次数 | 每月CAPTCHA次数 | 每月成本 |
|---|---|---|---|
| 小型(50/天) | 1,500 | ~1,500 | $3-4.50 |
| 中型(200/天) | 6,000 | ~6,000 | $12-18 |
| 大型(1,000/天) | 30,000 | ~30,000 | $60-90 |
领取您的优惠码:在CapSolver仪表板使用代码WEBS,每次充值可获得额外5%的奖励。
CapSolver关于负责任使用的常见问题解答提供了额外的合规指导。有关处理政府门户上的reCAPTCHA的信息,v2解决文档提供了实现细节。CapSolver网络爬虫指南涵盖了大规模数据提取的基础设施模式。
AI代理的企业注册数据提取需要处理多个司法管辖区政府数据库中的多样化CAPTCHA系统。CapSolver提供了验证清除基础设施,使自动化公司查询可扩展——在3-12秒内解决reCAPTCHA和图像CAPTCHA,使您的AI代理能够验证企业、增强潜在客户并完成合规检查,而无需人工干预。
任何使用标准CAPTCHA系统的注册机构:美国各州州务卿数据库(全部50个州)、SEC EDGAR、英国公司局、欧盟国家注册机构以及大多数国际公司数据库。每个都需要特定的CAPTCHA参数识别。
可以。大多数注册机构公开列出现任负责人、董事和注册代理人。提取引擎会解析这些字段以及公司状态、成立日期和文件历史。
一些注册机构需要创建免费账户以进行详细搜索。您的AI代理可以在初始设置后维护经过身份验证的会话。CAPTCHA通常出现在登录和搜索页面上——CapSolver可处理两者。
大多数政府注册机构提供对商业注册数据的公开访问。批量访问政策因司法管辖区而异——有些明确允许,有些有速率限制。始终检查特定注册机构的条款,并实施尊重的速率限制(每次查询之间3-5秒的延迟)。