文章截图均来自中国大学mooc Python网络爬虫与信息提取的教程,以上仅作为我的个人学习笔记。
常用的网络爬虫可以分为三大类(按照对象的规模划分):
网络爬虫引发的问题:骚扰、法律问题(产权问题)、个人很大的隐私泄露的问题
限制方法(来源审查是技术上的、发布公告是道德上的):
Robots协议(网络爬虫排除标准)
- 作用:告诉网络爬虫哪些页面可以爬取,哪些不能爬取
- 具体使用:在网站的根目录下面放置一个robots.txt文件
案例:京东的Robots协议:
User-agent: * #意思是无论是什么样的网络爬虫都应该遵守如下的协议
Disallow: /?* #任何爬虫都不可以访问以问号开头的路径
Disallow: /pop/*.html #符合这个通配符的都不可以访问
Disallow: /pinpai/*.html?*
User-agent: EtaoSpider #下面这四个网络爬虫都不可以爬取京东的任何资源
Disallow: /
User-agent: HuihuiSpider #是被发现的恶意爬虫
Disallow: /
User-agent: GwdangSpider
Disallow: /
User-agent: WochachaSpider
Disallow: /
#基本语法:*代表所有 /代表根目录
User-agent: *
Disallow: /
但是并不是所有的网站都有:比如教育部的。
遵守方式:
- 对于任何网络爬虫都需要能够自动或者人工(如果自己不写这样的代码的话)的识别robots.txt文件,再进行内容爬取
- 然而Robots协议是建议但不是约束性的,网络爬虫可以不遵循,但存在法律风险
但是:类人类行为可以不遵循。
Robots协议的基本语法。