Python爬虫合法需严守Robots协议、隐私禁区与请求红线:须用urllib.robotparser的can_fetch()实时校验、设真实User-agent、处理重定向与通配符、采用随机+指数退避延时、限制并发、禁存敏感信息并实时脱敏、复用连接防DDoS误判。Python爬虫不违法的前提,是它既没越权、也没越界、更没越线------Robots协议是底线,隐私数据是禁区,请求节奏是红线。如何用 urllib.robotparser 真正遵守 robots.txt很多人以为"看了 robots.txt 就算守规矩",其实不是。文件只是声明,can_fetch() 才是执行判断。不调用这个方法,等于没遵守。必须在每次请求前调用 rp.can_fetch(user_agent, url),不能只检查一次首页User-agent 要写真实标识(比如 "MyDataBot/1.0 (+https://example.com/bot)"),否则 can_fetch() 可能默认按 * 匹配,结果误判注意重定向:如果目标 URL 302 跳转到 /private/user,而该路径在 Disallow 列表里,can_fetch() 对原始 URL 返回 True,但跳转后仍属违规部分网站 robots.txt 使用通配符或正则(如 Disallow: /api/*/profile),robotparser 不支持解析,需额外正则校验为什么 time.sleep(1) 还是被封?关键在"随机+分布"固定间隔是典型机器人行为。服务器看的不是"有没有停",而是"停得像不像人"。time.sleep(1) 在多数电商站会被限流,因为真实用户不会每秒精准点一次。改用 time.sleep(random.uniform(1.5, 4.2)),避开整数周期,降低模式识别概率对同一域名连续请求超过 5 次,建议叠加指数退避:sleep(2 ** attempt * random.uniform(0.8, 1.2))并发请求数必须限制:Scrapy 默认 CONCURRENT_REQUESTS = 16,对中小站点过高,应设为 1--3别忽略 DNS 缓存和连接复用------频繁新建 TCP 连接比慢速请求更容易触发 WAF 的"连接风暴"规则爬到手机号、身份证号怎么办?不是删掉就完事法律上,"采集即风险"。哪怕页面公开显示,未经同意抓取并存储,已违反《个人信息保护法》第10条。更危险的是:你以为没存,但日志、临时文件、异常堆栈里可能残留。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能
相关推荐
@insist1235 小时前
信息安全工程师-数据库安全全体系解析与最佳实践MY_TEUCK5 小时前
【2026最新Python+AI学习基础】Python 入门笔记篇赢乐6 小时前
大模型学习笔记:检索增强生成(RAG)架构_ku_ku_6 小时前
数据库系统原理 · 事务管理与恢复 · 自学总结lifewange7 小时前
Redis 集合(Set)运算完全指南TDengine (老段)7 小时前
TDengine RAFT共识协议 — 选举、日志复制、快照与仲裁浪里行舟8 小时前
你的品牌正在被AI“遗忘”?用BuildSOM找回搜索的下一个风口Full Stack Developme8 小时前
Spring Boot 事务管理完整教程码界筑梦坊8 小时前
120-基于Python的食品营养特征数据可视化分析系统logo_288 小时前
Xpath语法规则的学习和使用