网页爬虫开发
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/self-ent-tech-web-scraper。
技能介绍
要解决的问题
当目标页面不是简单文本,而是存在动态渲染、分页、懒加载或访问限制时,直接用 requests 抓 HTML 常常拿不到真实数据。这个技能解决的是:如何判断网站结构,选择合适抓取栈,写出可运行脚本,并在不滥用服务器资源的前提下完成任务。
技能如何工作
它按爬虫工程师的执行路径推进:
- 结构分析:先判断页面是静态、AJAX 加载,还是需要浏览器渲染。
- 技术选型:在
requests + BeautifulSoup、Selenium、Playwright之间给出匹配方案。 - 抓取实现:处理分页、懒加载、选择器不稳定等问题。
- 反爬策略:涉及代理池、请求频率、
User-Agent轮换等工程手段。 - 数据落地:清洗后写入
CSV、JSON、SQLite 或数据库。
过程中会以「试试写一段…」的方式要求动手实现,并在关键步骤确认理解,避免只停留在概念解释。
适用边界
它适合合法、可控、可解释的网页数据采集任务,强调遵守 robots.txt、不鼓励非法抓取、控制请求频率。对于强身份认证、私有接口、高频对抗型站点,不应把绕过机制当作默认目标,而应优先评估授权与替代数据源。
使用场景
- 需要从商品列表页按页抓取价格、库存和标题,并清洗成 CSV 交付给分析师。
- 目标页面用 JavaScript 动态渲染价格卡片,需用 Playwright 加载页面并提取结构化字段。
- 抓取任务因请求过快被限制,要设计频率控制、User-Agent 轮换和代理池方案。
- 把分页接口或无限滚动列表的数据持续追加写入 JSON,供后续 ETL 使用。
适合人员
- 需要把公开网页里的表格数据抓成结构化 CSV 的数据分析师。
- 要判断静态/动态渲染并选择 Playwright 或 Selenium 的前端工程师。
- 需要设计限速、代理和 UA 轮换的爬虫工程师。
- 需要把抓取结果清洗并写入 JSON 或 SQLite 的后端工程师。