本文简单介绍了网络爬虫的类型、存在的问题、限制形式以及Robots协议内容。
继上一篇有关爬虫基础及Requests库介绍后,继续学习廖雪峰老师的课,感觉讲的非常系统。继续做笔记~
一. 网络爬虫类型
目的:爬取网页,玩转网页
特征:小规模,数据量小爬取速度不敏感
方法:Requests库
目的:爬取网站,爬取系列网站
特征:中规模,数据规模较大,爬取速度敏感
方法:Scrapy库
目的:爬取全网
特征:大规模,搜索引擎,爬取速度关键
方法:定制开发
二. 爬虫引发的问题
网络爬虫带来便利的同时也造成了很多风险:
- 超出服务器服务能力,对服务器性能造成“骚扰”
- 内容法律风险
- 个人隐私泄露
由于存在种种问题,这就需要网站都对爬虫进行限制。
三. 爬虫的限制
限制方法有以下两种:
- 来源审查:判断user-agent进行限制
- 检查来访HTTP协议头的User-Agent,只响应浏览器或友好爬虫访问。
- 发布公告:Robots协议
- 告知爬取策略,要求爬虫遵守。
四. Robots协议
1. Robots协议基本概念
Robots Exclusion Standard 网络爬虫排除标准
作用:网站告知爬虫哪些页面可以抓取,哪些不可以。
形式:在网站根目录下的robots.txt
文件。
Robots协议基本语法:
1 | User-agent: * |
案例:京东 https://www.jd.com/robots.txt
第一个红框代表:任何访问形式都需要遵守以下协议。
第二个红框代表:以下几种爬虫不能访问任何资源。
如果没有robots.txt
文件,那么说明可以任意爬取。
2. 遵守方式
网络爬虫:自动或人工识别robots.txt协议,在进行内容爬取。
约束性:Robots协议是建议但是非约束性的,网络爬虫可以不遵守,但是存在法律风险。
Tips:类人类行为可不参考Robots协议,简单就是说访问量很小。(我寻思这就是打造一个可以慢吞吞但类人的爬虫哦!)
这次的笔记内容比较轻松好理解,学起来很快,突然对爬虫产生了浓厚的兴趣。不过似乎现在很多反爬虫什么的。相信随着科技的发展,很多东西在给我们带来便利的同时,也会被逐渐限制。或许等某一天我再看自己写的这个博客,Robots协议变得更加有限制性吧。
じゃね〜