GDPR与网络爬虫:个人数据、罚款及检查清单
GDPR并不禁止爬虫——它管理的是个人数据。以下是其适用的具体情况,为什么合法利益是您唯一现实的依据,最近欧盟罚款的原因,以及工程师可以实际操作的检查清单。
GDPR并不禁止网络爬虫。它规范的是个人数据的处理,只有当您收集的数据能够识别个人时,爬虫才会与之冲突。正确理解这一区别,大多数合规问题就能迎刃而解;理解错误,您将面临最近欧盟执法所明确的风险。这是工程师的指南,而不是讲座:GDPR何时真正适用于爬虫,为什么合法利益是您唯一现实的合法依据,监管机构不断惩罚人们忽视的数据最小化和通知规则,以及您可以在工作开始前运行的检查清单。这是信息性指导而非法律建议——对于具体项目,请咨询数据保护律师。
首先唯一重要的问题是:这是否是个人数据?
GDPR将个人数据定义为与已识别或可识别的人相关的任何信息,并适用于欧盟居民的数据,无论您的服务器位于何处。对于爬虫来说,实际的界限是明确的。抓取非个人数据通常完全不受GDPR约束:产品价格和规格、股票和市场数据、新闻和博客内容、房地产列表、公共政府统计数据。一旦您的数据集中包含姓名、电子邮件地址、电话号码、照片、个人资料——或不那么明显的标识符如IP地址、cookie ID和设备指纹——您就在处理个人数据,法规的全部效力就会附加上去。健康、生物特征和类似的“特殊类别”数据进一步提高了门槛,通常需要明确的同意。如果您的目标是价格和目录数据,您大多是安全的;GDPR之外的更广泛法律图景在2026年网络爬虫是否合法中。
为什么合法利益是您唯一现实的依据
GDPR的第6条列出了六个合法依据,但只有一个适合大规模爬虫。获得同意是不切实际的——您无法从数百万尚未收集数据的人那里获得知情同意。合同必要性不成立,因为您与数据主体没有关系。剩下的就是合法利益,EDPB的ChatGPT工作组和法国的CNIL都确认这是标准依据——但有条件。它要求一个记录的三部分测试:利益是真正合法的,处理是必要且不过度的,并且不会凌驾于您所获取数据的人的权利和合理期望之上。在您开始爬虫之前,写下那个合法利益评估;“如果您不能证明合规,您就不合规”是监管机构应用的操作原则。

最近罚款的真正原因
过去两年的执法告诉您风险集中在哪里。荷兰DPA在2024年对Clearview AI罚款3050万欧元,因为其从抓取的公共图像中建立了面部识别数据库,而没有通知人们或提供访问和删除的机会——意大利监管机构已经因为相同的模式罚款2000万欧元。法国的CNIL在2024年12月对KASPR罚款24万欧元,因为其抓取了LinkedIn的联系方式,包括那些限制了可见性的用户,数据库大约有1.6亿个联系人。波兰的DPA对一个抓取公共商业注册信息的数据经纪人罚款22万欧元,该注册信息涵盖了数百万人,然后辩称通知他们是“过度的努力”——监管机构完全拒绝了这一说法。所有这些的上限是GDPR的最高罚款2000万欧元或全球年收入的4%,以较高者为准。
从这些案件中可以看出,模式是一致的:违规行为是未能通知人们,忽视他们的权利,收集受限或过度的个人数据,并在被告知停止后继续。没有一个是因为“爬虫是非法的”而被罚款——而是因为个人数据的处理方式。
工程师的检查清单
将原则转化为您可以运行的步骤,而不是您存档的政策。在涉及个人数据的任何工作之前和期间:
- 在收集时最小化。 只保留您实际需要用于记录目的的字段。如果您需要评论文本,不要同时存储评论者的姓名和昵称。
- 限制在自由访问的数据。 CNIL的指导意见是留在不需要登录的公共页面上——不要在身份验证后或受限可见性设置后抓取。
- 尊重技术反对。 robots.txt和CAPTCHA是网站不希望自动化收集的信号;忽视它们会削弱您的法律立场。详情见robots.txt在实践中。
- 设置保留限制。 一旦个人数据完成其用途就删除;无限期存储是违反存储限制的行为。
- 计划第14条和DSARs。 能够通知数据主体并处理访问和删除请求——这是Clearview和波兰案件失败的原因。
- 为大规模或高风险收集运行DPIA,并保存文档。
其中两个实际上是代码。最小化是一个过滤器,去除您没有计划收集的PII:
KEEP = {"product", "price", "currency", "rating", "review_text"}
PII = {"reviewer_name", "email", "user_id", "ip"}
def minimize(record):
# keep only declared fields; never persist PII you did not need
return {k: v for k, v in record.items() if k in KEEP and k not in PII}
尊重网站声明的愿望是在第一次请求前进行的检查,使用标准库:
import urllib.robotparser as rp
def allowed(url, ua="MyResearchBot"):
r = rp.RobotFileParser()
r.set_url(url.rstrip("/").split("/", 3)[0] + "//" +
url.split("/")[2] + "/robots.txt")
r.read()
return r.can_fetch(ua, url)

代理的作用——及其局限
代理是可靠获取公共数据和正确地理位置的基础设施;它们不是合规的捷径。通过scraper API或住宅IP进行爬虫并不会改变您是否有合法依据,也不会洗白您不应收集的个人数据。它们真正的帮助在于保持您在合规的道路上:大规模收集仅公共、非个人数据——价格、目录、市场信号——这正是大多数团队实际需要的低风险工作。如果您的项目确实涉及到个人数据,如B2B联系研究,从一开始就将合规视为设计约束,如我们在LinkedIn公共数据和合规中所框定的。
常见问题
在GDPR下网络爬虫是否合法?
GDPR并没有禁止爬虫,但处理欧盟居民的个人数据需要合法依据并遵守法规的原则。如果您仅抓取非个人数据——价格、库存水平、新闻——GDPR通常不适用。如果您的数据能够识别个人,您需要有记录的依据(通常是合法利益)、数据最小化、保留限制以及履行数据主体权利的方式。
我可以在不违反GDPR的情况下抓取哪些个人数据?
最安全的立场是完全避免个人数据:产品、价格、库存、市场、新闻和公共统计数据通常不受GDPR约束。当您必须处理个人数据时,将其限制在自由访问的公共信息,收集仅记录目的所需的数据,并准备好通知人们并处理删除请求。除非您有明确的同意,否则避免特殊类别数据如健康信息。
如果我的公司不在欧盟,GDPR是否适用?
是的。GDPR适用于您处理的对象的数据,而不是您所在的位置。如果您抓取欧盟或EEA个人的个人数据,无论您公司的国家,法规都适用。仅涉及非欧盟个人的数据抓取则受那些司法管辖区的法律约束,但欧盟的案件表明,监管机构将追究处理欧盟居民数据的外国运营商。
爬虫的GDPR最高罚款是多少?
GDPR的上限是2000万欧元或全球年收入的4%,以较高者为准。实际的爬虫罚款范围从六位数——注册信息抓取罚款22万欧元,LinkedIn联系信息抓取罚款24万欧元——到对Clearview AI的3050万欧元。共同点是错误处理个人数据:没有通知,忽视权利,过度收集。
合规路径比“抓取任何公共数据”更窄,但比“爬虫是非法的”宽得多。尽可能停留在非个人数据上,记录合法利益,不能时最小化,尊重网站给出的信号,并保存记录。做到这些,GDPR是设计约束,而不是威胁。