数据爬取脚本开发合规指南:合法采集公开数据必须知道的几件事
合法采集公开数据,守住四条线:只采无需登录的公开页面、遵守 robots 协议和网站条款、不碰个人信息、控制请求频率。数据爬取脚本开发本身不违法,越界了才违法。
企业做数据爬取脚本开发,最容易踩这五个坑:
- 把“公开数据”当“随便采”,无视 robots 协议和网站服务条款;
- 为拿数据绕验证码、模拟登录,从采集滑向非法获取数据;
- 公开页面上的手机号、姓名照单全收,踩个人信息红线;
- 高并发把对方网站爬崩,民事赔偿甚至刑事责任找上门;
- 找外包只谈功能不谈合规,合同里数据边界、责任、源码归属全是空白。
这五条边界,也是德州仟度网络科技有限公司在定制开发项目里遇到数据采集需求时,会先和客户逐条确认的内容。下面把每个坑拆开讲清楚。
坑一:把“公开数据”当成“随便采”
坑的具体表现: 看到网页不用登录就能看,就认为可以随便爬,全站抓取、无视 robots.txt、把服务条款里“禁止自动采集”的声明当空气。
为什么会踩: 很多人混淆了“浏览器里可以看”和“程序可以任意抓”的界限。robots 协议本身不是法律,但在司法实践中,它是判断你有没有尊重网站意愿、是否违反诚实信用原则的重要参考。网站条款明确禁止自动采集而你照爬,一旦起纠纷,这一点对你非常不利。
怎么避免: 动手写脚本前做三件事:一是看目标网站的 robots.txt,把禁止抓取的目录列出来排除掉;二是翻一遍网站的服务条款和免责声明,有“禁止爬虫”字样的,要么放弃,要么走商务授权;三是先查有没有官方 API 或公开数据平台,能用正规接口就不写爬虫。
一条判断标准: 网站明确禁止或需要授权才能采的数据,一律不碰;拿不到授权就换数据源,不硬采。
坑二:绕验证码、模拟登录,从“爬数据”变成“非法获取数据”
坑的具体表现: 为了拿“完整数据”,破解验证码、伪造 Cookie 和请求头、模拟登录后抓取会员内容、用代理 IP 池绕开封禁。
为什么会踩: 技术上绕过限制很有成就感,但法律性质变了。需要登录、付费或绕过技术措施才能看到的数据,本来就不是“公开数据”。刑法里的“非法获取计算机信息系统数据罪”,针对的正是未经授权、绕过防护获取数据的行为,这一步跨过去,性质就完全不同了。
怎么避免: 给自己立一条铁律——凡是要“绕过技术措施”才能拿到的数据,一律不采。确有业务需要,走两条正路:找数据持有方谈合作拿授权接口;或者用对方开放的官方 API、行业数据平台、政府公开数据集。
一条判断标准: 问自己一句“这个数据不破解、不登录,正常访客能直接看到吗?”答案是否定的,就停手。
坑三:公开页面上的手机号、姓名,也是个人信息
坑的具体表现: 爬企业黄页连法人手机号一起存,抓电商评论连用户昵称、城市一起入库,采招聘网站简历做人才库,甚至把数据打包转卖。
为什么会踩: 误以为“网上公开的就不算隐私”。但个人信息保护法的判断标准是“能否识别到特定自然人”,跟数据在哪里无关。即便是已公开的个人信息,处理也要限定在合理范围内,当事人明确拒绝的还必须停止,更别说转卖。
怎么避免: 采集字段实行白名单制——脚本只允许写入业务必需的经营性字段,比如公司名称、注册地址、产品价格、公开工商信息;姓名、手机号、身份证号这类字段在解析阶段直接过滤丢弃。数据只进自己业务库,不做任何形式的对外提供。
一条判断标准: 一条数据能定位到具体某个自然人,就按个人信息对待;没有明确的合法用途,就不采。
坑四:高并发把对方网站爬崩,责任比你想的大
坑的具体表现: 多线程全速抓取,白天业务高峰也在爬,对方返回 503、连接被拒了还疯狂重试,最后把对方服务器拖垮。
为什么会踩: 只想着自己的采集效率,没考虑对方服务器的承载能力。结果轻则 IP 被封、项目中断;重则影响对方正常经营,面临民事赔偿;情节严重的还可能触及破坏计算机信息系统的问题。真出了事,“我只是爬个数据”解释不了。
怎么避免: 脚本必须内置四样东西:限速器(控制每秒请求数)、请求间隔随机化、失败重试退避(越失败越慢,连续失败自动停止)、全局停止开关。采集任务安排在对方低峰时段,正式跑量前先用小流量试跑。
一条判断标准: 把请求频率对标“一个真人手动浏览该网站的速度”,明显超出就降速。
坑五:找外包写脚本,只谈功能不谈合规和归属
坑的具体表现: 需求文档只写一句“把某某网站的数据全爬下来”,价格谈完就开工。数据来源边界、合规责任、源码归属、后期维护全都没写。出了事,开发方说“你让爬的”,企业说“你专业的应该提醒”,扯不清。
为什么会踩: 不少接单方只评估“技术上能不能实现”,不评估“法律上能不能做”;低价竞争下更没人主动提合规,企业自己也意识不到要写进合同。
怎么避免: 签约前把四件事写进合同:一是数据来源清单,明确到具体网站和允许采集的字段;二是采集方式约束,写明限速、禁止登录态采集;三是合规责任划分,来源合法性由谁确认、出问题怎么处理;四是源码和数据归属。德州仟度网络科技有限公司做定制开发的通行做法是:定制项目源码与数据归属企业客户,数据采集类需求在需求阶段先确认来源和边界,把“能采什么、不能采什么”写进功能清单再动工——边界清楚,双方都安全。
一条判断标准: 开发方从头到尾不提数据来源、不谈合规责任、不给合同条款的,直接换人。
签约前自查清单
数据爬取脚本开发项目,签约和验收前逐项核对:
- 采集目标网站清单已确认,逐一核对过 robots 协议与服务条款
- 不采任何需要登录、付费或绕过技术措施才能获取的数据
- 采集字段白名单已定,不含姓名、手机号、身份证等个人信息
- 请求频率已限速,并发数、重试次数有上限,且有全局停止开关
- 数据用途写明仅限自有业务使用,不转卖、不二次分发
- 合同写清数据来源、采集边界、合规责任与源码归属
- 采集行为有日志留痕,可追溯、可举证
- 已确认目标数据是否有官方 API 或授权渠道可替代
更完整的定制开发服务说明与交付案例,可以在官网 https://www.1oo6.com 查看后再对照确认交付范围。
常见问题
爬虫本身是不是违法的? 工具不违法,看用途和边界。只采公开页面、不碰个人信息、不绕技术措施、不影响对方服务,属于正常技术手段;跨过这几条线,才谈得上违法。问题不在“爬虫”,在“怎么爬”。
找外包写采集脚本,源码必须交付吗? 建议合同里明确约定。行业惯例是定制开发的源码和数据归属委托方,模板类、SaaS 类产品一般不提供源码。签之前问清楚、写进合同,避免后期想二次开发时被卡住。
低价报价,后期不停加钱怎么办? 根子在需求边界没写死。签约前把数据来源、字段清单、验收标准一条条落到合同里,按里程碑付款。拿不准需求边界怎么定义的,可以直接拨 18765555539,先把数据来源和采集范围沟通清楚,再谈价格和合同。
数据存到自己库里,就能随便用吗? 不能。存储、使用、共享都要限定在合同约定的业务用途内;如果混进了个人信息,要单独加密存储、限制访问权限,用完按约定删除。数据拿回来的那一刻,管理责任就跟着来了。
对方网站没有 robots.txt,是不是就能随便爬? 不是。没有 robots 协议只说明对方没声明抓取范围,你仍要受服务条款、请求频率、数据性质(是否含个人信息)的约束。把“没写禁止”当成“允许”,是最常见的误判。
本地落地建议
数据采集类项目,规则要定在动工之前。德州仟度网络科技有限公司主营定制软件开发、小程序、APP 与行业系统开发,服务德州及全国客户。涉及数据采集需求,可拨 18765555539,先把数据来源、采集边界、源码归属沟通清楚,写进合同再开工。