Robots协议一定放在网站根目录下
一.网络爬虫的尺寸
1.以爬取网页,玩转网页为目的进行小规模,数据量小对爬取速度不敏感的可以使用request库实现功能(占90%)
2.以爬取网站或爬取系列网站为目的,比如说获取一个或多个旅游网站的爬虫,对数据要求规模较大,爬取速度敏感的可以使用Scrapy库
3.以爬取全网为目的,规模很大搜索引擎爬取速度关键,需要定制开发
二.网络爬虫带来的问题
总的来说有:骚扰问题,法律风险,隐私泄露
1.爬虫可利用计算机的快速功能访问服务器,它会比人类的速度快到百倍甚至千倍,受限于编写水平和目的,网络爬虫将会为web服务器带来巨大的资源开销。对网站运行者来讲,爬虫形成了骚扰。
2.网络爬虫会带来法律风险。服务器上的数据有产权归属,比如新浪上的新闻规新浪所有,如果网络爬虫获取数据牟利后将会带来法律风险。
3.网络爬虫会造成隐私泄露。网络爬虫可能具备突破简单访问控制的能力,或得被保护数据从而泄露个人隐私。
三.网络爬虫的限制
来源审查:判断User-Agent进行限制
检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问。
发布公告: Robots协议
告知所有爬虫网站的爬取策略,要求爬虫遵守。
四.Robots协议
作用:网站会告知网络爬虫哪些页面可以抓取,哪些不行
形式:在网站根目录下的robots.txt文件。
下面我自己做了一个实例 打开京东的Robots协议 https://www.jd.com/robots.txt
会出现下面几句话
大概的意思是所有爬虫都要遵守以下协定
任何爬虫都不允许访问?* 即?号开头的网页
任何爬虫都不允许访问pop*.html开头的网页
任何爬虫都不允许访问pinpai*.html开头的网页
此外 EtaoSpider HuihuiSpidder GwdangSpider WochachaSpider这四个网络爬虫都不能爬取京东的任何数据
五.Robots协议基本语法
*代表所有 /代表根目录
User-agent: 代表哪些爬虫
Disallow:你不允许访问资源的目录
六.其他注意
1.Robots协议一定放在网站根目录下
2.http://www.news.sina.com.cn/robots.txt和http://www.sina.com.cn/robots.txt它们的Robots协议是不一样的
3.如果一个网站没有Robots协议,是允许所有爬虫无限制爬取
最新文章
- Java线程:线程的同步-同步方法
- Oracle管理口令遗忘解决办法
- POJ1637 Sightseeing tour(判定混合图欧拉回路)
- 【JAVA】JAVA 反射
- C# checkboxlist的使用
- LeetCode:Word Break(DP)
- myBatis 实现用户表增删查改操作<;方法1 没有使用接口的>;(最终版)
- <;<;编写可维护的JavaScript>;>;之避免使用全局变量
- Spring RESTFul Client – RestTemplate Example--转载
- ios9下ionic框架报[$rootScope:infdig] 10 $digest() iterations reached. Aborting!的解决办法
- php使用mysql_query查询超大结果集超内存的解决方法
- Android 全屏显示-隐藏Navigation Bar
- Appium的前世今生
- win7+vs2008+opencv
- SVN常用命令积累
- jquery 的页面下拉选项
- 420小时学习代码之后:如何教你免费自学Python
- win10安装tensorflow-gpu1.13.1+cuda10.0+cudnn7.3.1
- rocketmq 4.2.0集群配置
- Sublime Text3 配置 NodeJs 开发环境