网络爬虫、君子协议robots.txt及相关法律法规简介

什么是爬虫?

爬虫,又名“网络爬虫”,是一种程序搜索机器人robot(又称搜索蜘蛛spider),能够自动访问互联网上的网页并获取网页信息。它也是搜索引擎的基础,像百度和GOOGLE都是凭借强大的网络爬虫,来检索海量的互联网信息的然后存储到云端,为网友提供优质的搜索服务的。

爬虫有什么用

除了做搜索引擎的公司百度、GOOGLE之外,很多企业都在高薪招聘爬虫工程师。你到任何招聘网站上搜“爬虫工程师”看看岗位数量和薪资范围就懂爬虫有多热门。这里简单列一下网络爬虫的几个作用:

1、收集数据python爬虫程序可用于收集数据。这也是最直接和最常用的方法。由于爬虫程序是一个程序,程序运行得非常快,不会因为重复的事情而感到疲倦,因此使用爬虫程序获取大量数据变得非常简单和快速。由于99%以上的网站是基于模板开发的,使用模板可以快速生成大量布局相同、内容不同的页面。因此,只要为一个页面开发了爬虫程序,爬虫程序也可以对基于同一模板生成的不同页面进行爬取内容。

2、爬虫调研比如要调研一家电商公司,想知道他们的商品销售情况。这家公司声称每月销售额达数亿元。如果你使用爬虫来抓取公司网站上所有产品的销售情况,那么你就可以计算出公司的实际总销售额。此外,如果你抓取所有的评论并对其进行分析,你还可以发现网站是否出现了刷单的情况。数据是不会说谎的,特别是海量的数据,人工造假总是会与自然产生的不同。过去,用大量的数据来收集数据是非常困难的,但是现在在爬虫的帮助下,许多欺骗行为会赤裸裸地暴露在阳光下。

3、刷流量和秒杀刷流量是python爬虫的自带的功能。当一个爬虫访问一个网站时,如果爬虫隐藏得很好,网站无法识别访问来自爬虫,那么它将被视为正常访问。结果,爬虫“不小心”刷了网站的流量。除了刷流量外,还可以参与各种秒杀活动,包括但不限于在各种电商网站上抢商品,优惠券,抢机票和火车票。目前,网络上很多人专门使用爬虫来参与各种活动并从中赚钱。这种行为一般称为“薅羊毛”,这种人被称为“羊毛党”。不过使用爬虫来“薅羊毛”进行盈利的行为实际上游走在法律的灰色地带,希望大家不要尝试。

爬虫的原理是什么?

1、发起请求:通过HTTP协议向目标站点发送请求(一个request),然后等待目标站点服务器的响应。

2、获取响应内容:如果服务器能正常响应,会得到一个Response。Response的内容便是所要获取的页面内容,响应的内容可能有HTML,Json串,二进制数据(如图片视频)等等。

3、解析内容:得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析;可能是Json,可以直接转为Json对象解析;可能是二进制数据,可以做保存或者进一步的处理。

4、保存数据:数据解析完成后,将保存下来。既可以存为文本文档、可以存到数据库中。

什么是robots.txt?

robots.txt是一个协议,我们可以把它理解为一个网站的“管家”,它会告诉搜索引擎的网络爬虫哪些页面可以访问,哪些页面不能访问。也可以规定哪些搜索引擎可以访问我们的网站而哪些搜索引擎不能爬取我们网站的信息等等,是网站管理者指定的”君子协议”。

robots.txt文件放在哪里

robots.txt文件应该放在网站根目录下,而且文件名必须全部小写。

举例来说,当一个程序搜索机器人robot访问一个站点时(比如http://www.abc.com)时,首先它会检查该网站根目录下是否存在robots.txt(比如http://www.abc.com/robots.txt)这个文件。

如果在网站根目录下robots.txt这个文件存在,它就会根据这个文件的内容,来确定它访问权限的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。

怎么看懂robots.txt文件?

User-agent: 搜索机器人的名称

Disallow: 不允许搜索机器人访问的地址

Allow: 允许搜索机器人访问的地址

若User-agent是*,则表示允许所有的搜索机器人访问该站点下的所有文件。在“robots.txt”文件中,“User-agent:*”这样的记录只能有一条。

Disallow和Allow后面跟的是地址,这个URL可以是一条完整的路径,也可以是部分的,地址的描述格式符合正则表达式(regex)的规则。因此可以在python中使用正则表达式来筛选出可以访问的地址。

需要特别注意的是Disallow与Allow行的顺序是有意义的,robot会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。

例如,如果在“robots.txt”文件中有下列内容,则代表该站点“禁止所有搜索引擎访问网站的任何部分”。

User-agent: *

Disallow: /

网络爬虫会违法吗?

2019年5月28日,国家互联网信息办公室就《数据安全管理办法(征求意见稿)》(以下简称“征求意见稿”)公开征求意见,这是我国数据安全立法领域的里程碑事件。以法律的形式规范数据收集、存储、处理、共享、利用以及销毁等行为,强化对个人信息和重要数据的保护,可维护网络空间主权和国家安全、社会公共利益,保护自然人、法人和其他组织在网络空间的合法权益。

以网络爬虫为主要代表的自动化数据收集技术,在提升数据收集效率的同时,如果被不当使用,可能影响网络运营者正常开展业务,为回应上述问题,征求意见稿第十六条确立了利用自动化手段(网络爬虫)收集数据不得妨碍他人网站正常运行的原则,并明确了严重影响网站运行的具体判断标准,这将对规范数据收集行为,保障网络运营者的经营自由和网站安全起到积极的作用。

根据中华人民共和国国家互联网信息办公室在《网络爬虫的法律规制》一文有提过,“允许收集者通过爬虫技术收集数据是数据开放共享的重要措施,网络爬虫能够通过聚合信息、提供链接,为数据所有者的网站带来更多的访问量,这些善意、适量的数据抓取行为,符合数据所有者开放共享数据的预期。”

网络爬虫有哪些相关法律法规?

1、破坏(非法侵入)计算机信息系统罪

根据《中华人民共和国刑法》第二百八十六条规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。违反国家规定,对计算机信息系统中存储、处理或者传输的数据和应用程序进行删除、修改、增加的操作,后果严重的,依照前款的规定处罚。故意制作、传播计算机病毒等破坏性程序,影响计算机系统正常运行,后果严重的,依照第一款的规定处罚。单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照第一款的规定处罚

2、非法获取计算机系统数据罪

根据《中华人民共和国刑法》第二百八十五条规定,非法获取计算机信息系统数据、非法控制计算机信息系统罪,是指违反国家规定,侵入国家事务、国防建设、尖端科学技术领域以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,情节严重的行为。刑法第285条第2款明确规定,犯本罪的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

3、侵犯公民个人信息罪

《刑法》修正案(九)中将刑法第二百五十三条进行了修订,明确规定违反国家有关规定,向他人出售或者提供公民个人信息,情节严重的,构成犯罪;在未经用户许可的情况下,非法获取用户的个人信息,情节严重的也将构成“侵犯公民个人信息罪”。 根据《最高人民法院 最高人民检察院关于办理侵犯公民个人信息刑事案件适用法律若干问题的解释》第五条规定,对“情节严重”的解释,(1)非法获取、出售或者提供行踪轨迹信息、通信内容、征信信息、财产信息五十条以上的;(2)非法获取、出售或者提供住宿信息、通信记录、健康生理信息、交易信息等其他可能影响人身、财产安全的公民个人信息五百条以上的;(3)非法获取、出售或者提供第三项、第四项规定以外的公民个人信息五千条以上的便构成“侵犯公民个人信息罪”所要求的“情节严重”。

4、侵犯商业秘密罪

《反不正当竞争法》第九条,以不正当手段获取他人商业秘密的行为即已经构成侵犯商业秘密。而后续如果进一步利用,或者公开该等信息,则构成对他人商业秘密的披露和使用,同样构成对权利人的商业秘密的侵犯。

5、网络安全法

《网络安全法》第四十四条 任何个人和组织不得窃取或者以其他非法方式获取个人信息。因此,如果爬虫在未经用户同意的情况下大量抓取用户的个人信息,则有可能构成非法收集个人信息的违法行为。

6、民法总则

《民法总则》第111条任何组织和个人需要获取他人个人信息的,应当依法取得并确保信息安全。不得非法收集、使用、加工、传输他人个人信息

参考

1、worktile-python爬虫是干嘛的

2、知乎-什么是Python爬虫?一篇文章带你全面了解爬虫

3、pc51.com-什么是Robots?Robots.txt文件放在哪里?

4、csdn博客-【每天学习一点新知识】robots.txt详解

5、国家互联网信息办公室-网络爬虫的法律规制

6、GitHub -HiddenStrawberry:中国爬虫违法违规案例汇总


关于明柳梦少

坚守自己的原则,不随波逐流。