我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。

案情介绍

2011年1月微信问世,腾讯公司经过持续投入,构建起包括微信平台、微信个人用户、开放平台、微信支付、小程序等产品功能和服务,构建起包括微信平台、微信个人用户、公众号运营者、第三方服务商等多角色主体共同参与的微信生态系统。为了保障微信生态系统的健康发展,维护包括微信公众平台在内的运营秩序和用户信息安全,保证良好的用户体验,腾讯公司作为平台经营者和管理者,通过在微信公众平台官网(https://mp.weixin.qq.com)设置 robots 协议,禁止任何第三方通过爬虫技术抓取微信公众号平台信息内容及数据,制定并公示了各种微信平台规则对微信公众平台信息内容及数据资源安全进行保护。

被告系“极致了”(www.jzl.com)产品的经营者斯氏(杭州)新媒体科技有限公司,未经腾讯公司许可利用爬虫技术非法抓取微信公众平台信息内容及数据,并对外提供公众号及其文章的搜索、公众号导航及排行、公众号数据抓取、公众号数据分析等微信公众号数据服务。

原告认为,被告的行为系利用非法抓取的微信公众号源网页信息内容和数据,通过简单的统计和分析后对外提供微信公众号数据服务的寄生经营行为,重构了微信公众号的数据评价体系,违背了微信公众平台产品设计逻辑和运营原则,损害了微信平台生态系统的健康,损害了原告的商业利益,具有不正当性。

法院观点

原告腾讯公司和腾讯科技公司系微信公众平台的经营者和管理者,被告斯氏公司是“极致了”网站经营者。原告在微信公众平台官网设置了 robots 协议,禁止任何第三方通过爬虫技术爬取微信公众号平台信息内容及数据,制定并公示了各种微信平台规则对微信公众平台信息内容及数据资源安全进行保护。但“极致了”网站利用爬虫技术,绕开、突破了“微信登录限制”和“IP访问限制”,爬取微信公众平台信息内容及数据,并通过网站对外提供公众号搜索、导航及排行等数据服务。

法院经审理认定,“极致了”网站突破IP访问限制和封禁措施,破坏了微信产品登录访问服务运行,同时“爬虫”行为会对微信服务器造成负担,构成对微信公众号正常运行的妨碍。此外,被控行为也妨碍了微信产品的正常运行机制。“极致了”提供微信公众号及文章搜索、展示等服务,构成了对微信公众号部分数据内容服务的实质性替代,进而损害两原告通过对外授权可获取的合作利益等商业利益,构成不正当竞争。

判决情况

根据《中华人民共和国民法典》第一百二十七条、第一千一百六十七条、《中华人民共和国反不正当竞争法》第二条、第十二条第二款第四项、第十七条、《最高人民法院关于审理不正当竞争民事案件应用法律若干问题的解释》第十七条、《中华人民共和国民事诉讼法》第六十四条第一款之规定,判决如下:

一、被告斯氏(杭州)新媒体科技有限公司立即停止涉案不正当竞争行为,即立即停止非法抓取微信公众号(http://mp.weixin.qq.com)信息内容及数据、停止对外提供微信公众号及其文章搜索、公众号排行及推荐、公众号数据抓取等涉案相关数据服务,并删除已经存储的前述数据;

二、被告斯氏(杭州)新媒体科技有限公司于本判决生效之日起十日内赔偿原告深圳市腾讯计算机系统有限公司、腾讯科技(深圳)有限公司经济损失及为制止不正当竞争行为所支付的合理费用共计60万元;

三、被告斯氏(杭州)新媒体科技有限公司于本判决生效之日起七日内,在极致了网站(www.jzl.com)连续七日刊登声明为原告深圳市腾讯计算机系统有限公司、腾讯科技(深圳)有限公司消除影响(声明内容需经法院审核,逾期不履行,由法院登报公开判决主要内容,登报费用由被告斯氏(杭州)新媒体科技有限公司负担);

关于赔偿数额,两原告主张以被告因侵权行为的获利作为赔偿的依据,一是以每月付费会员收费为计算维度,(2020)厦鹭证内字第102658号公证书载明被控网站截止原告公证时付费用户会员为8197人,付费会员分为三个等级(高级会员为89元每月,豪华会员为149元每月,超级会员为299元每月),仅以每月89元为计算基数,则“极致了”网站每月收取的会员费用为8197人*89元每月=729533元。根据两原告提交的就“极致了”网站对付费会员提供服务情况等进行的公证,即“极致了”网站对网站会员进行收费截止2021年8月至少已经10个月,考虑付费会员可能在不断增长变化的前提下,暂以729533元的50%为基数,“极致了”网站仅仅在10个月就付费会员获利为:729533元每月*50%*10个月=3647665元。此外,综合“极致了”网站实际收费会员制度运行时间远远早于2020年9月,故“极致了”网站实际获利情况远远不止于此。二是以单次监控/采集收集为计算维度,“极致了”网站最低一级的付费会员费用为每月89元,含300次阅读数监控和300次数据回采,即平均每次监控/回采收益约为0.15元。(2020)厦鹭证内字第102658号公证书载明被控网站截止原告公证时“极致了”网站已回采超过6亿公众号文章,即仅数据回采部分获利为6亿*0.15元=9000000元,考虑“极致了”网站还提供阅读数监控等其他服务,“极致了”网站实际获利不止于该金额。综上,原告主张被告赔偿经济损失及合理支出共计300万元。被告抗辩其经营的“极致了”网站获利较少,但未提交客观证据予以证明。

法院注意到如下事实:

1.被告在庭审中自认“极致了”网站于2020年5月上线,其中下线四个月后又重新上线直至2021年8月,被告在明知“极致了”网站涉嫌侵权的情况下仍然重新上线“极致了”网站,说明侵权主观恶意较大;

2.微信在社交产品市场中拥有极高的市场占有率,享有极高的知名度,商业价值十分可观。微信公众号拥有众多用户,具有较高的市场价值,能够给两原告带来可观的市场收益,同时微信公众号能够稳定地吸引海量用户数据,具有较大的数据衍生产品开发空间,能给两原告带来可观的增值利润;

3.被控“极致了”网站通过多个不同网址以及多个公众号进行宣传、服务,每日爬取的公众号及文章数量较大;

4.结合“极致了”网站不同产品、不同服务的报价等情节予以酌情考量其销售利润;

5.被控行为虽然造成了微信用户对微信公众号数据部分流量的流失,两者之间只是具有或然性关联关系;

6.“极致了”网站提供微信公众号文章搜索服务中,点击文章标题查看微信公众号文章内容仍需跳转回微信公众号进行展示;

7.两原告为本案诉讼采取了多次公证证据保全措施,并委托律师参与诉讼,需要支付合理维权费用。

综合考量上述因素,法院酌定被告连带赔偿两原告经济损失及为制止不正当竞争行为所支付的合理费用共计60万元。

判决文书

杭州铁路运输法院(2021)浙8601民初309号民事判决书

案例分析

本案的重点有两处,一是“极致了”网站使得网络用户无需登录微信账号、订阅微信公众号即可在“极致了”网站查看除了微信公众号文章以外的相关阅读数、点赞数等相关数据内容,影响微信用户协议的履行,破坏微信公众号数据的展示规则,对微信公众号点赞数、阅读数、公众号主体信息等部分数据内容构成实质性替代,分流了微信产品的部分潜在用户;二是微信客户端不仅向网络用户提供可以直接访问微信公众号及文章的搜索链接,还可以向搜狗搜索提供引擎独家授权、允许搜狗提供公众号及文章搜索。“极致了”官网提供微信公众号及文章搜索、展示等服务,已经构成对微信公众号部分数据内容服务的实质性替代,进而损害两原告通过对外授权可获取的合作利益等商业利益,构成不正当竞争。

目前市面上有不少类似于本案的产品,通过抓取各种内容平台数据,进行数据整理、加工处理后推出相关产品,长久做下去的必然是和官方有合作的,单单依靠爬虫进行数据采集的话,只要被平台方发现,告上法庭,必然会构成不正当竞争的,搞不好还有破坏计算机系统罪,广大爬虫工程师们如果公司正在研发此类产品,一定要确认是否与官方有合作,多多关注业务的合法合规性,避免走上违法犯罪的道路。

【K哥爬虫普法】微信公众号爬虫构成不正当竞争,爬虫er面对金山,如何避免滥用爬虫?的更多相关文章

  1. 基于搜狗搜索的微信公众号爬虫实现(C#版本)

    Author: Hoyho Luo Email: luohaihao@gmail.com Source Url:http://here2say.me/11/ 转载请保留此出处 本文介绍基于搜狗的微信公 ...

  2. 第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解

    第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf- ...

  3. [Python爬虫] 之十五:Selenium +phantomjs根据微信公众号抓取微信文章

    借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文 ...

  4. 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解

    封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...

  5. 用java实现的微信公众号爬虫

    Published: 2016-11-23 In Spider. tags: Spider 版权声明:本文为博主原创文章,未经博主允许不得转载. 思路: 直接从chuansong.me爬取,由于微信公 ...

  6. 教你如何入手用python实现简单爬虫微信公众号并下载视频

    主要功能 如何简单爬虫微信公众号 获取信息:标题.摘要.封面.文章地址 自动批量下载公众号内的视频 一.获取公众号信息:标题.摘要.封面.文章URL 操作步骤: 1.先自己申请一个公众号 2.登录自己 ...

  7. 从Python爬虫到SAE云和微信公众号:二、新浪SAE上搭建微信服务

    目的:用PHP在SAE上搭建一个微信公众号的服务器. 1.申请一个SAE云账号 SAE申请地址:http://sae.sina.com.cn/  可以使用微博账号登陆,SAE是新浪的云服务,时间也比较 ...

  8. python通过手机抓取微信公众号

    使用 Fiddler 抓包分析公众号 打开微信随便选择一个公众号,查看公众号的所有历史文章列表 在 Fiddler 上已经能看到有请求进来了,说明公众号的文章走的都是HTTPS协议,这些请求就是微信客 ...

  9. 微信公众号批量爬取java版

    最近需要爬取微信公众号的文章信息.在网上找了找发现微信公众号爬取的难点在于公众号文章链接在pc端是打不开的,要用微信的自带浏览器(拿到微信客户端补充的参数,才可以在其它平台打开),这就给爬虫程序造成很 ...

  10. 一步一步教你用 Vue.js + Vuex 制作专门收藏微信公众号的 app

    一步一步教你用 Vue.js + Vuex 制作专门收藏微信公众号的 app 转载 作者:jrainlau 链接:https://segmentfault.com/a/1190000005844155 ...

随机推荐

  1. 插件化架构设计(3):前端可视化化平台插件架构-grafana实践

    插件实践方案 其实插件你就把它当一个组件来用就好.用起来就是异步组件加载. vue异步组件加载,看官方文档:https://cn.vuejs.org/v2/guide/components-dynam ...

  2. 利用Appuploader上架IPA步骤

      Appuploader可以辅助在Windows.linux或mac系统直接申请iOS证书p12,及上传ipa到App Store.方便在没有苹果电脑情况下上架IPA操作. 一.下载安装iOS上架辅 ...

  3. 火山引擎DataLeap数据调度实例的 DAG 优化方案 (一):问题与需求分析

    DAG:全称为 Directed Acyclic Graph,指有向无环图,具备严密的拓扑性质,有很强的流程表达能力. DataLeap 是火山引擎自研的一站式大数据中台解决方案,集数据集成.开发.运 ...

  4. 【Flask】cbv源码分析 flask模板使用 flask请求与响应 session及源码分析 闪现flash 请求扩展

    目录 上节回顾 今日内容 1 cbv分析 1.1 源码分析 2 模板 2.1 app.py 2.2 index.html 3 请求与响应 4 session及源码分析 4.1 session的使用 4 ...

  5. js import的几种用法

    最近昨天公司小朋友离职,临时接收其负责的vue前端项目.vue好久没做了,很多东西都忘记或以前也没接触,几天开始慢慢写点vue的小知识,算是历程或备忘吧. import在js.ts中用了不知多少次,但 ...

  6. POJ:Dungeon Master(BFS模板题)

    原题链接 思路: 正常的思路,只不过是将二维BFS换成三维的,也算是个模板题吧(PS:DFS超容易超时) #include<iostream> #include<queue> ...

  7. C++正则表达式的初步使用

    正则表达式(Regular Expressions),又被称为regex.regexp 或 RE,是一种十分简便.灵活的文本处理工具.它可以用来精确地找出某文本中匹配某种指定规则的内容.从C++11开 ...

  8. Codeforces Round #725 (Div. 3) A~G 题解记录

    补题链接:Here 1538A. Stone Game 数组 \(a\) 的大小为 \(n\) ,请问每次可以删除最左和最右侧的元素,请问最少执行多少次能删除掉数组中的最大值和最小值 (\(1\le ...

  9. Codeforces Round #671 (Div. 2) (A - B、D1题)

    比赛链接:https://codeforces.com/contest/1419 https://codeforces.com/contest/1419/problems A. Digit Game ...

  10. 【调试】GDB使用总结

    启动 在shell下敲gdb命令即可启动gdb,启动后会显示下述信息,出现gdb提示符. ➜ example gdb GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1 Cop ...