根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种.

通用爬虫

通用爬虫:搜索引擎用的爬虫系统。搜索引擎和web服务商提供的爬虫。

目标:

就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。

抓取流程:

  1. 首先选取一部分URL,把这些URL放到待爬取队列。

  2. 从队列取出URL,然后解析DNS得到主机IP,然后保存这个IP对应的服务器里下载HTML页面,保存到搜索引擎的本级服务器,之后把这个爬过的url放入已爬过的队列。

  3. 分析这些网页内容,找出网页里其他的URL链接,继续执行第二步,直到爬取结束

搜索引擎如何获取一个新网站的URL:

a)主动向搜索引擎提交网站 
B)在其他网站里设置外联 
C)索引擎会和DNS服务商服务商进行合作,可以快速收录新的网站

DNS把域名解析成IP的一种技术。

通用爬虫并不是万物皆可爬取,他也要遵循规则:

Robots协议:协议会指明通用爬虫可以爬取网页的权限(告诉搜索引擎那些可以抓取,那些不可以抓取)

Robots.txt 并不是所有的爬虫都遵守,一般只有大型的搜索引擎爬虫才会遵守

存在位置:robots.txt文件应该放置在网站根目录下

例如:https://www.taobao.com/robots.txt

通用爬虫工作流程:

爬取网页 存储数据 内容处理 提供检索/排名服务

搜索引擎排名:

  1. PageRank值:根据网站的流量(点击量/浏览量/人气)统计,流量越高,网站排名越靠前。

  2. 竞价排名:谁给的钱多,谁排名就高。

通用爬虫的缺点:

  1. 只能提供和文本相关的内容(HTML、Word、PDF)等等,但是不能提供多媒体文件(音乐、图片、视频)和二进制文件(程序、脚本)

  2. 提供的结果千篇一律,不等针对不同背景领域的人提供不同的搜索结果

  3. 不能提供人类语义上的检索

通用搜索引擎的局限性

  1. 通用搜索引擎所返回的网页里90%的内容无用。

  2. 中文搜索引擎自然语言检索理解困难

  3. 信息占有量和覆盖率存在局限。

  4. 搜索引擎最主要的还是以关键字搜索为主,对于图片、数据库、音频、视频多媒体的内容通用搜索引擎无能为力。

  5. 搜索引擎的社区化和个性化不好,大多数搜索引擎没有考虑人的地域,性别,年龄的差别

  6. 搜索引擎抓取动态网页效果不好

    解决通用爬虫的缺点,聚焦爬虫出现了。

聚焦爬虫

聚焦爬虫:爬虫程序员写的针对某种内容爬虫。 
面向主题爬虫、面向需求爬虫:会针对某种特定的能容去爬取信息,而且保证内容需求尽可能相关。

1.积累式爬虫:从开始到结束,不断爬取,过程中会进行重复操作。

2.增量式爬虫:已下载网页采取增量式更新和只爬取新产生的或者已经发生变化网页爬虫

3.Deep web爬虫:不能通过静态链接获取的、隐藏在搜索表单后的,只有用户提交一些关键词才能获得的web页面

而我们今后要学习的网络爬虫,就是聚焦爬虫。

聚焦爬虫与通用爬虫详解相关推荐

  1. python 3.x 爬虫基础---http headers详解

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---Requer ...

  2. 爬虫解析利器PyQuery详解及使用实践

    作者:叶庭云 整理:Lemon 爬虫解析利器 PyQuery详解及使用实践 之前跟大家分享了 selenium.Scrapy.Pyppeteer 等工具的使用. 今天来分享另一个好用的爬虫解析工具 P ...

  3. python爬虫之urllib库详解

    python爬虫之urllib库详解 前言 一.urllib库是什么? 二.urllib库的使用 urllib.request模块 urllib.parse模块 利用try-except,进行超时处理 ...

  4. 什么是网络爬虫以及通用爬虫和聚焦爬虫的介绍

    什么是网络爬虫 1.为什么要学习爬虫技术? 2.爬虫的定义 3.爬虫的更多用途 4.爬虫怎么抓取网页上的数据? 1.网页三大特征: 2.爬虫的设计思路: 5.为什么要选择Python做爬虫? 6.通用 ...

  5. python获取登录后的cookie_python爬虫使用cookie登录详解

    前言: 什么是cookie? Cookie,指某些网站为了辨别用户身份.进行session跟踪而储存在用户本地终端上的数据(通常经过加密). 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想 ...

  6. Python爬虫入门系列——Urllib详解

    Python爬虫入门系列--Urllib详解 1.背景 1.1 初识爬虫 1.2 合法性 1.3 robots协议 2.要求 2.1 当前开发环境 2.2 编程基础 3.快速上手Urllib 3.1 ...

  7. 怎样进入android模式,安卓手机如何进入Recovery模式的通用方式详解

    2014-12-12 15:24:16 安卓手机如何进入Recovery模式的通用方式详解 标签:安卓 Recovery模式 教程 Recovery模式是什么?这里说的Recovery模式主要指的是安 ...

  8. html5硬件接口,HTML5通用接口详解

    1.先说几个基本类型: DOMString, boolean, long, unsigned long, double,BmBHTML5中文学习网 - HTML5先行者学习网 NaN(Not-a-Nu ...

  9. Django 基于类的通用视图详解

    原文出处:https://segmentfault.com/a/1190000005685454 Django 学习小组:基于类的通用视图详解(一) 通过三周的时间我们开发了一个简单的个人 Blog, ...

  10. java 查询sql语句_java执行SQL语句实现查询的通用方法详解

    完成sql查询 并将查询结果放入vector容器,以便其他程序使用 /* * 执行sql查询语句 */ public static vector executequery(class clazz, s ...

最新文章

  1. 软件需求管理用例方法二
  2. 图片缓存之内存缓存技术LruCache,软引用
  3. Singleton模式的实现
  4. 使用halcon结合机械XY轴对相机进行9点标定
  5. python每天定时9点执行_python定时器每天订时执行的实例方法
  6. 飞鸽传书不能传送文件
  7. 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)
  8. 用java实现etcd分布式锁_etcd分布式锁及事务
  9. springmvc-interceptor(拦截器)
  10. Xamarin只言片语3——Xamarin.Android下支付宝(Alipay SDK)使用
  11. python变量和数据类型_Python变量和数据类型简介
  12. 修改注册表解决SVN状态图标不显示问题
  13. Linux命令解释之rm
  14. C++伪(pseudo)随机数生成及简单应用
  15. 解决 No module named PyQt5.QtWebKitWidgets
  16. java qq 邮箱发送错误以及端口号
  17. python代码翻译器-Python实现翻译软件
  18. 全球软件公司排名2020
  19. 计算机专业软件工程的二本大学有哪些,软件工程专业二本大学排名哪个好?
  20. HDR高动态范围图像处理算法

热门文章

  1. 织梦DedeCMS采集图片路径怎么按月存放
  2. python加上子类的特性_Python 中 Meta Classes详解
  3. 图像金字塔实现图像缩放_一个简单的VueJS组件,用于图像放大/产品缩放
  4. 学习笔记(2):150讲轻松搞定Python网络爬虫-多线程介绍与threading基本使用
  5. 继电保护原理1.2-反时限过流保护
  6. 草莓柿子文案:草莓柿子水果店文案,草莓柿子水果朋友圈文案
  7. ZUCC_Linux系统管理_实验七 LVM
  8. checkbox 实现互斥选择
  9. java 设置打印机颜色_java 操作颜色选择器和打印机实现打印功能【代码片段】...
  10. 泰拉瑞亚 Terraria Mac版