项目描述
翻译我们需要一个生产级的网络爬虫系统,按日程从5-8个网站收集结构化数据,并将其转换为适合分析的格式。这不是一个一次性的脚本,而是一个每天无人值守运行的服务,能够应对源网站的标记变化,在网站请求时尊重地减少负载,并且如果目标资源之一出现故障不会完全崩溃。一些源是普通的静态HTML,一些是重型JavaScript单页应用,因此爬虫需要自信地处理这两者。
同样重要的是页面加载后的处理。原始HTML需要转化为经过验证的去重记录,价格、日期和电话号码需要在进入数据库之前规范化为统一格式。只存储新数据或更改的数据是有意义的,因此我们需要增量逻辑。除此之外,操作透明度对我们很重要:一个显示运行成功率和数据量的仪表板,失败和数据异常的通知,以及一个可以从头开始部署的可重复部署方案,而不需要部落知识。
具体的目标网站是保密的,并在条款达成一致后根据保密协议共享。在您的回复中,写一下您遇到的反机器人保护措施,以及您如何保持解析器的稳定性。以下是工作的完整范围。
1. 爬虫架构
— Scrapy + 代理轮换和用户代理池
— Playwright/Selenium用于JS网站
— CAPTCHA绕过(2captcha / anti-captcha)
— 速率限制,robots.txt合规性
2. 数据管道
— HTML转结构化JSON
— 验证和去重
— 价格、日期、电话号码的规范化
— PostgreSQL存储与模式设计
— 增量更新(仅新/更改记录)
3. 监控和操作
— 仪表板:运行成功、记录计数、错误
— 失败的Slack/email警报
— Docker Compose部署
— 带重试逻辑的Cron调度
目标网站
— 保密(NDA)— 协议后提供详细信息
— 静态和SPA网站的混合
交付物
— 带测试的源代码
— Docker Compose配置
— 数据库模式迁移
— 运行手册和监控设置
同样重要的是页面加载后的处理。原始HTML需要转化为经过验证的去重记录,价格、日期和电话号码需要在进入数据库之前规范化为统一格式。只存储新数据或更改的数据是有意义的,因此我们需要增量逻辑。除此之外,操作透明度对我们很重要:一个显示运行成功率和数据量的仪表板,失败和数据异常的通知,以及一个可以从头开始部署的可重复部署方案,而不需要部落知识。
具体的目标网站是保密的,并在条款达成一致后根据保密协议共享。在您的回复中,写一下您遇到的反机器人保护措施,以及您如何保持解析器的稳定性。以下是工作的完整范围。
1. 爬虫架构
— Scrapy + 代理轮换和用户代理池
— Playwright/Selenium用于JS网站
— CAPTCHA绕过(2captcha / anti-captcha)
— 速率限制,robots.txt合规性
2. 数据管道
— HTML转结构化JSON
— 验证和去重
— 价格、日期、电话号码的规范化
— PostgreSQL存储与模式设计
— 增量更新(仅新/更改记录)
3. 监控和操作
— 仪表板:运行成功、记录计数、错误
— 失败的Slack/email警报
— Docker Compose部署
— 带重试逻辑的Cron调度
目标网站
— 保密(NDA)— 协议后提供详细信息
— 静态和SPA网站的混合
交付物
— 带测试的源代码
— Docker Compose配置
— 数据库模式迁移
— 运行手册和监控设置
软件开发 现金, 银行转账