道德网络爬虫:只取公开数据,先守规矩再谈技术
很多人第一次接触网络爬虫,都是先学怎么写代码,再去想合不合法。这个顺序反了。爬虫真正的门槛不是技术,而是边界:你取的是谁的数据、对方同不同意、你的请求会不会给对方添麻烦。先把这三件事想清楚,再谈工具和方法。

本文只讲合法合规的做法,不讲绕过反爬、验证码与登录墙的方法。本文涉及的 robots.txt 规则按 Google 搜索中心官方说明核实,核实日期为 2026-11-08。不同国家与地区的法律口径不同,本文不是法律意见,涉及商业用途时请先咨询专业人士。
问:什么是道德网络爬虫,和普通爬虫有什么不同
道德网络爬虫不是某一种工具,而是一种做法:只取公开数据,并且在取的过程中遵守对方的规则、控制请求频率、不给对方服务器造成负担。它和普通爬虫的区别不在代码写得漂不漂亮,而在有没有事先确认自己能不能取、该怎么取。
如果你只是想练手,完全没必要一上来就盯着真实的大网站。先用公开的示例站练流程,学会发请求、解析页面、保存结果,流程跑通了再考虑真实目标。
问:什么数据能爬,什么数据不能爬
先看一条最简单的分界线:不需要登录就能在浏览器里直接看到的内容,才有讨论的空间。需要登录后才能看到的内容,比如个人账号里的订单、聊天记录、私信、未公开的草稿,一律不要碰。登录意味着对方只对特定用户开放,你用程序绕过去,性质就变了。
即使是公开页面,也有几类内容要格外小心。第一是个人隐私信息,包括手机号、邮箱、身份证号、家庭住址,哪怕它出现在公开页面上,也不等于你可以批量收集和再发布。第二是受版权保护的全文内容,比如整本电子书、付费文章的全文,取下来自己看和批量转载是两回事。第三是对方明确声明不许爬取的内容,声明可能写在服务条款里,也可能写在页面底部。
还有一种情况容易被忽略:数据本身公开,但你的用法不合规。比如你把公开的商品价格收集起来做比价,这是常见的合理用途;但如果你把公开的用户评论批量抓下来,拼成一份带真实姓名的名单拿去卖,那就越界了。能不能爬,不仅看数据本身,还要看你拿它来做什么。
问:robots.txt 怎么看,它到底有没有约束力
每个网站根目录下通常都有一个 robots.txt 文件,地址就是在域名后面加上 /robots.txt。它是网站告诉爬虫的一份公开说明:哪些路径允许抓取,哪些路径不希望被抓取。按 Google 搜索中心官方说明核实,robots.txt 文件应位于网站根目录,规则由一条或多条组成,核实日期为 2026-11-08。
读它的方法并不复杂。先看 User-agent 这一行,它说明接下来的规则针对哪类爬虫,星号代表所有爬虫。再看 Disallow 这一行,它列出不希望被抓取的路径,比如 Disallow: /private/ 代表整个私有目录都不希望被抓。Allow 则是明确允许的路径。没有写进 Disallow 的路径,默认是允许抓取的,但这只是 robots.txt 这一层的默认态度,不等于服务条款也同意。
需要提醒的是,robots.txt 更像一份公开的礼貌约定,而不是一道技术锁。遵守它是一个爬虫的基本素养,但只看它还不够。有些网站的服务条款里会单独写明禁止自动化抓取,这些都要一起看。如果 robots.txt 说可以,但服务条款说不可以,那就按更严格的那一份来。Google 官方说明也提醒,不要用 robots.txt 来隐藏真正的私密内容,私密内容应该靠正确的身份验证来保护。
问:限速多少才合适,怎么才算不打扰对方
限速没有放之四海而皆准的数字,但有一个判断标准:你的请求频率不能影响正常用户的访问。如果你一秒发几十个请求,对方的小服务器可能直接被拖慢,正常用户打不开页面,这就已经越界了。
一个稳妥的起点是每次请求之间至少间隔几秒,并且避开对方的访问高峰。至于具体间隔几秒,要看目标网站的规模和 robots.txt 里有没有写 Crawl-delay。需要注意的是,Crawl-delay 并不是所有搜索引擎都支持的官方字段,Google 官方说明明确表示 Google 不支持 crawl-delay 等其他字段,核实日期为 2026-11-08。有的网站写了这个值,你照做是礼貌;有的网站没写,你也不能默认可以全速抓取。
更稳妥的做法是先慢后快:先用很低的频率跑一小批,观察返回速度和状态码是否正常,确认没有问题再保持这个频率,不要逐步加压试探对方的底线。还要设置合理的超时和重试次数,遇到服务器返回错误就停下来,而不是反复重试把对方打垮。一次只抓你真正需要的数据,不要为了以防万一就把全站都拖下来。
问:被封了怎么办,能不能换个办法继续抓
被封首先要做的是停下来,而不是立刻换个办法继续抓。被封本身就是一个明确的信号,说明对方不希望你以当前的方式继续访问。这时候正确的做法是检查三件事:你有没有违反 robots.txt,你的请求频率是不是太高,你取的内容是不是对方不希望被批量获取的。
如果确认是频率问题,可以把间隔拉长、把总量砍掉,过一段时间再用更低的频率试一次。但如果对方已经明确拒绝,或者你的账号与地址被封禁,那就不要换地址、换账号、换伪装继续绕过去。这些绕过手段正是本文不讲、也不建议做的内容。绕过去继续抓,不会让你的行为变得合法,只会让问题变得更严重。
如果这份数据对你确实很重要,正规的出路只有两条:走对方的官方接口,或者联系对方申请授权。在邮件里写清楚你是谁、要什么数据、用来做什么、频率多高、会不会公开传播,对方才有可能认真考虑。很多公开数据项目都愿意合作,前提是你先表现出足够的诚意和克制。
问:取下来的数据怎么存、怎么用才合规
取数据只是第一步,存和用同样有规矩。第一,只保存你真正需要的数据,不要把整页内容连同无关的个人信息一起存下来。第二,涉及个人信息的数据要尽快脱敏,能删的字段就删掉,能用编号代替真实姓名的就用编号。第三,数据不要长期无限期保存,用完就按计划清理,尤其是你无法确认来源是否合规的数据。
如果你要把基于公开数据做的结果公开出来,比如一份价格对比或统计报告,要注意三件事:注明数据的来源和采集时间,说明你的统计方法,不要原样转载对方的大段原文或图片。来源和时间很重要,因为公开数据会变,今天的价格明天可能就不同了,不写时间会误导读者。
想进一步了解数据使用时的隐私边界,可以看看站内这篇 AI 工具隐私与安全清单,里面关于哪些信息不能乱传的提醒,放在爬虫场景里同样适用。
未核实要点
- 不同国家与地区关于爬虫的法律口径与判例,本文未逐一核实,不作为法律意见。
- 某个具体网站的 robots.txt 与服务条款是否允许抓取,需要读者自行查看,本文未核实。
- 官方接口的调用额度与数据使用许可因网站而异,本文未核实具体数字。
- 示例站的地址与可用状态未核实,练手前请先确认该站当前是否正常开放。