一.网络爬虫的尺寸

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协议,是允许所有爬虫无限制爬取

最新文章

  1. Java线程:线程的同步-同步方法
  2. Oracle管理口令遗忘解决办法
  3. POJ1637 Sightseeing tour(判定混合图欧拉回路)
  4. 【JAVA】JAVA 反射
  5. C# checkboxlist的使用
  6. LeetCode:Word Break(DP)
  7. myBatis 实现用户表增删查改操作<方法1 没有使用接口的>(最终版)
  8. <<编写可维护的JavaScript>>之避免使用全局变量
  9. Spring RESTFul Client – RestTemplate Example--转载
  10. ios9下ionic框架报[$rootScope:infdig] 10 $digest() iterations reached. Aborting!的解决办法
  11. php使用mysql_query查询超大结果集超内存的解决方法
  12. Android 全屏显示-隐藏Navigation Bar
  13. Appium的前世今生
  14. win7+vs2008+opencv
  15. SVN常用命令积累
  16. jquery 的页面下拉选项
  17. 420小时学习代码之后:如何教你免费自学Python
  18. win10安装tensorflow-gpu1.13.1+cuda10.0+cudnn7.3.1
  19. rocketmq 4.2.0集群配置
  20. Sublime Text3 配置 NodeJs 开发环境

热门文章

  1. react浏览器回退按钮的时候传递参数
  2. 4.2 会议室预定系统,ajax参数(未完成)
  3. 【leetcode】341. Flatten Nested List Iterator
  4. (转)HTTP请求报文和HTTP响应报文
  5. HTML+CSS知识总结2
  6. 51 Nod 1486 大大走格子
  7. Color a Tree
  8. python学习之路(13)
  9. Vue可自定义tab组件
  10. 【JVM】jstack和dump线程分析(2)