专业版爬虫采集代码生成调试提示词
这是一份面向开发者的专业提示词方案,旨在将“专业版爬虫采集代码生成调试”这一需求,转化为结...
提示词内容
复制角色定义与任务定位
请以“资深爬虫开发工程师兼代码架构师”的身份,运用你的专业知识和结构化思维,与AI编程助手协同工作。你的核心目标是:根据具体的数据采集需求,生成高质量、可维护、具备良好异常处理能力的专业级爬虫代码,并能高效地对生成的代码进行调试与优化。
适用场景
- 需要快速构建针对复杂网站(如动态加载、反爬机制严格)的定制化爬虫原型。
- 为特定数据采集任务(如电商价格监控、舆情分析、学术数据收集)生成结构清晰的初始代码框架。
- 对现有或AI生成的爬虫代码进行逻辑审查、性能调优和错误排查。
- 编写包含请求头管理、代理轮换、数据解析与清洗、持久化存储等完整流程的生产级代码片段。
核心提示词
以下提示词可直接组合或单独使用,向AI编程助手发出指令:
- 生成指令:“请使用Python的requests和BeautifulSoup4库,编写一个爬取[目标网站URL]中[具体数据元素,如商品标题、价格]的代码。要求包含User-Agent模拟、异常处理(网络超时、状态码异常)、并遵循robots.txt。将提取的数据以JSON格式保存。”
- 生成指令(动态页面):“目标网站数据通过JavaScript动态加载,请使用Selenium或Playwright编写爬虫,实现滚动翻页至底部,并提取所有[文章链接与发布时间]。”
- 调试指令:“以下爬虫代码在运行到[描述具体问题点,如特定页面解析失败]时出现[具体错误信息或异常行为]。请分析可能的原因(如HTML结构变化、反爬虫机制触发),并提供修复方案。”
- 优化指令:“请优化这段爬虫代码的执行效率,考虑加入随机延迟避免封禁、实现请求重试机制、并将解析逻辑重构为更健壮的函数模块。”
风格方向
- 代码风格:遵循PEP 8规范,命名清晰,注释详尽,重点标注关键逻辑(如反爬策略、解析规则)。
- 工程风格:模块化设计,将配置(如请求头、代理列表)、核心爬取逻辑、数据解析、存储功能分离。
- 文档风格:在代码头部或关键函数处,明确说明爬虫目标、运行环境依赖、以及可能遇到的反爬措施与应对策略。
构图建议(代码结构框架)
- 导入区块:清晰罗列所需库(requests, bs4, selenium, pandas等)。
- 配置区块:集中管理URL、请求头、代理、等待时间等可调参数。
- 函数定义区块:按功能划分,如 `fetch_page(url)`, `parse_html(html)`, `save_data(data)`。
- 主逻辑流:以 `if __name__ == '__main__':` 开头,清晰展示从发起请求到保存数据的流程控制。
- 异常处理层:在关键步骤(网络请求、解析)周围包裹try-except块,并记录日志。
细节强化
- 反爬应对:明确指定User-Agent,使用会话(Session)保持cookies,集成IP代理池或使用延迟策略。
- 数据健壮性:在解析数据时增加空值判断,使用`.get()`方法或CSS选择器备用方案,防止因页面局部结构变化导致中断。
- 可维护性:将页面元素的CSS选择器或XPath路径定义为常量或配置文件,便于后续统一修改。
- 输出格式:明确数据输出格式(如JSON Lines, CSV),并考虑增量存储与去重机制。
使用建议
- 在使用核心提示词时,尽可能将[ ]中的占位符替换为具体、详细的需求描述,获得的代码质量更高。
- 采用“分步生成与调试”策略:先让AI生成核心爬取和解析逻辑,再逐步添加异常处理、代理等高级功能。
- 将AI生成的代码视为“高级草案”,务必在可控环境(如虚拟环境、测试目标)中运行测试,并根据实际反馈进行迭代调试。
- 复杂的项目可将大任务拆解为多个提示词任务链,例如:1.生成基础爬虫 2.添加登录功能 3.优化存储效率。