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 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能
相关推荐
Hello未来2 小时前
llamafactory 的使用和安装阿坤带你走近大数据2 小时前
Oracle报错-锁问题旺仔小拳头..2 小时前
JDBC 基础: API、SQL 注入问题,事务、连接池烟话62 小时前
C# 内存机制详解:值类型、引用类型与 String 的不可变性NineData2 小时前
玖章算术NineData成功入选杭州市“新雏鹰”企业Javatutouhouduan2 小时前
深入学习JVM底层原理:JVM源码剖析与实例详解z4424753262 小时前
CSS如何实现元素悬浮在页面底部_利用fixed定位与底部间距m0_596406372 小时前
mysql数据库用户密码加固策略_实施强密码策略与定期轮换m0_676544382 小时前
CSS如何实现语义化样式编写_使用BEM规范提升命名直观性