Python网络爬虫入门版笔记 三、网络爬虫引发的问题和Robots协议

一、网络爬虫可能带来的危害

众所周知,网络爬虫使用不规范可能回音发一系列的问题,总结为以下几点:

  • 网络骚扰(服务器性能)

  • 法律风险(内容层面)

  • 隐私泄露(个人隐私)

二、对网络爬虫的限制

1、来源审查:判断User-Agent进行限制

具体方法:检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫发起的访问。

2、发布公告:Robots协议

具体方法:告知所有爬虫网站的爬取策略和可爬取的内容,要求爬虫遵守。

通过上述方法可实现对爬虫道德和技术的一定限制。

三、Robots协议

1、协议全称

Robots Exclusion Standard 网络爬虫排除标准

2、作用与位置

作用:网站告知网络爬虫哪些内容是可爬取的,哪些是不可以爬取的。
位置:网站根目录下的robots.txt文件。

3、robots协议的解析

这里以京东的网站为例:在这里插入图片描述
这里逐一进行解释。
第一行为协议涵盖对象,为:所有的访问来源。换句话说就是所有来源的爬虫都应该遵守此协议。
第二行,Disallow规定不允许访问以?开头的路径。
第三行,规定不允许访问符合pop/.html这种通配符的文件。
第四行,规定不允许访问符合pinpai/
.html?*这种通配符的文件。
之后的几行,都是由User-Agent给出一个爬虫名,随后跟一个Disallow:/
这种格式的意思为,不允许指定的爬虫爬取网站的任何内容。

4、robots协议的基本语法

由上面的解析可以发现,通过robots协议,网站声明哪些内容可以被什么样的爬虫爬取。而这些协议由基本的User-Agent和Disallow语句构成。
具体格式如下:

User-Agent:爬虫名(或者使用通配符*表示所有的爬虫)
Disallow:/不允许爬取的目录名(或者用通配符组合而成的某个路径类型)

5、robots协议的使用

对于任何网络爬虫,它应该要可以做到自动或人工识别robots.txt,在进行内容爬取。
然而robots协议只是一个建议,而不具有强制约束性,但不遵守时需要知道会存在法律风险。
类人行为可不参考robots协议。(对服务器的自动访问相当于正常人的使用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值