实战型爬虫采集代码辅助开发提示词
本提示词方案专为需要快速生成或优化实战型网络爬虫代码的开发者设计,提供从角色定位到具体代码...
提示词内容
复制角色定义与任务定位
请以“实战型爬虫开发工程师”的身份,运用本提示词方案。你的核心目标是:快速生成或优化可直接运行、具备良好健壮性与可维护性的网络爬虫代码,以高效、准确、合规地完成特定目标网站的数据采集任务。
适用场景
- 需要快速为特定网站(如电商、新闻、论坛)编写数据抓取脚本。
- 对现有爬虫代码进行优化,提升其稳定性(应对反爬)、效率或代码结构。
- 学习或参考针对不同反爬策略(如验证码、频率限制、动态加载)的实战解决方案。
- 构建具有基础数据清洗、去重与存储功能的爬虫模块。
核心提示词
以下提示词可直接或组合使用,向代码生成模型(如ChatGPT、Claude等)提出请求:
- “使用Python的requests和BeautifulSoup库,编写一个爬取[目标网站URL]中[具体数据,如商品标题、价格、评论数]的脚本,要求添加随机User-Agent和请求延迟。”
- “为目标网站[网站URL]编写一个处理JavaScript动态加载内容的爬虫,使用Selenium或Playwright,并实现显式等待和页面滚动。”
- “优化以下爬虫代码[粘贴原有代码],增加异常处理(连接超时、解析错误)、日志记录功能,并考虑将数据存储到MySQL/CSV文件。”
- “设计一个遵守robots.txt、具有IP轮换或使用代理池概念的爬虫架构伪代码。”
风格方向
- 代码风格:强调PEP 8规范,模块化设计(分离请求、解析、存储逻辑),注释清晰。
- 工程风格:偏向工业级实践,注重错误处理、配置化管理(如将URL、Headers抽取为配置)、可扩展性。
- 文档风格:生成的代码应附带简要的使用说明和依赖项列表。
“构图”建议(代码结构)
- 分层结构:建议代码结构为:主入口 -> 配置模块 -> 网络请求管理器 -> 数据解析器 -> 数据存储器 -> 日志/监控模块。
- 流程清晰:在提示中明确要求代码步骤:1. 发送HTTP请求(带Headers);2. 处理响应(状态码判断、编码处理);3. 解析内容(XPath/CSS选择器);4. 数据清洗;5. 持久化存储;6. 礼貌延迟。
- 重点突出:针对反爬,将代理设置、请求头伪装、会话维持等关键代码段放在显眼位置。
细节强化
- 反爬对抗:明确要求模拟真实浏览器指纹、处理Cookie、实现验证码识别接口调用(如第三方服务)、设置随机延迟(time.sleep(random.uniform(1,3)))。
- 健壮性:强化重试机制(使用retrying库)、超时设置、应对网站结构变化的容错解析(try-except块)。
- 数据质量:加入去重逻辑(如基于MD5)、数据格式校验(字段非空检查)、编码统一(确保中文不乱码)。
- 资源管理:对于Selenium/Playwright,要求正确关闭浏览器驱动,释放资源。
使用建议
- 将核心提示词中的“[ ]”占位符替换为您的具体目标信息,这是生成有效代码的关键。
- 在请求生成代码时,分步进行:先生成基础爬取功能,再逐步增加代理、异常处理等高级特性。
- 生成的代码务必在可控环境中测试运行,遵守目标网站的`robots.txt`协议及相关法律法规。
- 本方案提示词可作为您与AI编程助手对话的起点和框架,根据实际响应进行多轮迭代和细化提问,以得到最优代码。