单元 5 · 规范与综合实战 — 预计 30 分钟
爬虫伦理与合规
📍 本课路径
- 读懂并尊重 robots.txt
- 遵循合理的访问频率
- 了解国内数据相关法规底线
🎯 学习节奏:① 看目标 → ② 先思考再动手 → ③ 在运行器写代码 → ④ 失败时按提示重试 → ⑤ 通过后看思路
技术再溜,越过红线就是风险。这一章讲底线:什么能爬、什么不能碰。
一、robots.txt:网站的门牌告示
绝大多数站点根目录有 /robots.txt,声明哪些路径允许/禁止。Python 标准库 RobotFileParser 能程序化判断:
from urllib.robotparser import RobotFileParser
rp = RobotFileParser()
# TODO 1: 用 rp.parse() 加载规则列表
rp.parse([
"User-agent: *",
"Disallow: /private/",
"Allow: /public/",
])
# TODO 2: 判断 /private/x 是否允许
print("能抓 /private/x ?", rp.can_fetch("*", "/private/x"))
# TODO 3: 判断 /public/y 是否允许
print("能抓 /public/y ?", rp.can_fetch("*", "/public/y"))can_fetch 返回 True 只代表站方没禁止,不代表数据可随意使用。
二、访问频率
- 控制
time.sleep间隔,别打挂站点 - 避开高峰期
- 只抓必要字段
三、法规底线(国内)
| 红线 | 说明 |
|---|---|
| 个人信息 | 个人信息保护法:需合法基础,禁止非法收集 |
| 重要数据 | 数据安全法:金融地图人口等受分级保护 |
| 版权内容 | 受著作权保护,未经授权商用有风险 |
| 突破防护 | 故意绕过技术措施可能触犯刑法 |
四、合规清单
- 先看
robots.txt,尊重 Disallow - 带可联系的 User-Agent
- 控制频率不压垮服务器
- 不碰个人信息和重要数据
- 数据仅用于学习/授权用途
五、小结
- robots.txt 是站方告示,爬前必看
- 技能抓不等于法律允许
- 国内红线:个人信息、重要数据、版权、突破防护