爬虫采集Python脚本编写完整流程提示词

2026-05-25阅读 965热度 965

本文为爬虫脚本开发者提供一套结构化提示词方案,涵盖从角色定位到实战应用的全流程。

爬虫采集 Python脚本编写 数据抓取 实战应用

提示词内容

复制

角色定义与任务定位

请以“资深Python爬虫工程师”的身份,运用系统化工程思维,完成一个健壮、可维护的数据采集脚本的完整编写流程。你的核心目标是:将“数据抓取需求”转化为一套包含请求处理、数据解析、异常应对、数据存储及优化策略的自动化Python解决方案,确保脚本的稳定性、效率与可扩展性。

适用场景

  • 需要从静态或动态(JavaScript渲染)网页中批量提取结构化数据。
  • 构建长期运行的数据采集管道,用于市场分析、竞品监控或研究资料收集。
  • 需要应对反爬机制(如请求头验证、IP限制、验证码)的实战项目。
  • 将采集的数据进行清洗并存储至数据库、CSV或JSON文件以供后续分析。

核心提示词

  • 基础框架:使用requests库发送HTTP GET/POST请求,配合BeautifulSoup或lxml进行HTML解析;对于动态内容,使用selenium或playwright模拟浏览器操作。
  • 请求头与会话管理:设置真实的User-Agent、Referer等请求头,使用requests.Session()维持会话,处理cookies。
  • 数据定位与提取:通过CSS选择器或XPath精准定位目标数据元素(如:div.product-info > h3.title),并提取文本、属性或链接。
  • 异常处理与重试:使用try-except块捕获requests.exceptions异常,集成retrying库实现指数退避重试策略。
  • 数据存储:将提取的数据组织成字典或列表,使用pandas.DataFrame进行整理,并输出为CSV文件,或使用sqlite3/pymysql存储至数据库。
  • 速率控制:在循环请求中引入time.sleep(random.uniform(1,3)),避免请求过快导致IP被封。

风格方向

  • 代码风格:遵循PEP 8规范,函数职责单一,模块化程度高。注释清晰,关键步骤(如解析逻辑、反爬策略)需有说明。
  • 工程风格:脚本应具备配置化能力(如将URL、选择器、请求头参数外置为配置文件或常量)。采用面向对象设计(如定义Spider类)以提升代码复用性。
  • 日志风格:集成logging模块,记录信息(开始采集)、警告(遇到验证码)、错误(请求失败)等不同级别日志,便于运行监控与调试。

构图建议(代码结构)

  • “导入-配置-主逻辑-输出”线性结构:清晰划分依赖库导入、全局配置变量、核心采集函数、主程序入口和数据保存部分。
  • 模块化函数结构:将“发送请求”、“解析页面”、“保存数据”拆分为独立函数,通过参数传递数据,使流程清晰且易于单元测试。
  • 类封装结构:定义Spider类,将初始化(配置)、请求、解析、存储等方法封装在内,适合大型或需要维护状态的采集任务。

细节强化

  • 反爬对抗细节:轮换多个User-Agent池;使用代理IP池(如通过services或API获取);处理常见验证码(简单图像验证码可使用OCR库尝试识别)。
  • 数据清洗细节:对提取的文本使用.strip()去除空白字符,处理中文乱码问题(response.encoding = ‘utf-8’或根据响应头调整),使用正则表达式进一步提炼数据。
  • 健壮性细节:设置请求超时参数(timeout=10);检查HTTP响应状态码;验证提取的数据是否为空再存入,避免存储大量空值。
  • 性能细节:对于大量URL,考虑使用concurrent.futures.ThreadPoolExecutor实现并发请求,但需注意控制并发数,避免对目标服务器造成压力。

使用建议

  • 在正式大规模采集前,务必先用单个页面测试请求、解析和存储的全链路,确保所有环节畅通。
  • 尊重目标网站的robots.txt协议,合理设置采集延迟,避免对对方服务器造成不必要的负担。
  • 将核心提示词中的关键词(如具体的库名、方法名、策略名)直接组合,并填充具体的URL和选择器,即可形成可执行的提示词。例如:“编写一个使用requests和BeautifulSoup的Python脚本,从[目标网址]采集产品列表,需设置随机User-Agent和延迟,数据存储为CSV文件。”
  • 本方案为通用流程,实际应用中请根据目标网站的具体技术栈(如是否使用API接口、数据是否加密)灵活调整技术选型与策略。

常见问题

相关提示词

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策