学习了嵩天老师的爬虫专题课,总结一些学习内容
嵩天老师慕课课程链接:Python网络爬虫与信息提取_北京理工大学_中国大学MOOC(慕课) (icourse163.org)
Robots协议
- 网络爬虫排除标准,用于告知网络爬虫哪些页面或资源可以抓取,哪些不行。
- 一般来说,存在于网站根目录下的robots.txt文件里。
- 如果一个网站没有提供robots协议,一般来说是全网站页面资源都可以抓取
网络爬虫中
- Request库用来爬取网页,规模较小
- Scrapy库用来爬取网站或系列网站,数据规模较大
- 爬取全网的爬虫,是大规模的搜索引擎,需要定制开发
Robots协议的基本语法
# 注释
* 代表所有
/ 代表根目录
User-Agent:HTTP协议头的一个域,用于进行来源审查
Disallow: / :禁止访问的目录内容
案例 百度的Robots协议
可以看到内容如下,我们写的爬虫应该能自动识别网站的robots.txt,在规则内进行内容爬取,或者提前看清楚协议内容手动爬取。(类人行为可以不用遵守:访问量小,不作为商业用途)
User-agent: Baiduspider # 对于百度来说这个爬虫是一个恶意爬虫 Disallow: /baidu # 不能爬取的内容 Disallow: /s? Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ Disallow: /bh User-agent: Googlebot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ Disallow: /bh User-agent: MSNBot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro Disallow: /ulink? Disallow: /link? Disallow: /home/news/data/ Disallow: /bh
没有Robots协议的例子:http://www.moe.edu.cn/robots.txt