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/*/profilerobotparser 不支持解析需额外正则校验为什么 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 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能