爬虫原理扫盲

  • 根据使⽤场景,⽹络爬⾍可分为通⽤爬⾍聚焦爬⾍两种。
  • 通⽤⽹络爬⾍是捜索引擎(Baidu、Google、Yahoo)抓取系统的重要组成部分。主要⽬的是将互联⽹上的⽹⻚下载到本地,形成⼀个互联⽹内容的镜像备份。
  • ⽹络爬⾍的基本⼯作流程如下:
  1. ⾸先选取⼀部分精⼼挑选的种⼦URL;
  2. 将这些 URL 放⼊待抓取 URL 队列;
  3. 从待抓取 URL 队列中取出待抓取在 URL,解析 DNS,并且得到主机的 ip,并将 URL 对应的⽹⻚下载下来,存储进已下载⽹⻚库中。此外,将这些 URL 放进已抓取 URL 队列。
  4. 分析已抓取 URL 队列中的 URL,分析其中的其他 URL,并且将 URL放⼊待抓取 URL 队列,从⽽进⼊下⼀个循环....

⽽我们今后要学习的,主要就是聚焦爬⾍。为了让文章看起来更加清爽,在这里就不做过多关于通用爬虫的介绍,以后用到再补充。

聚焦爬⾍(Focused Crawler)

1. 聚焦爬⾍,⼜称主题爬⾍(或专业爬⾍),是“⾯向特定主题”的⼀种⽹络爬⾍程序。它与我们通常所说的爬⾍(通⽤爬⾍)的区别之处就在于,聚焦爬⾍在实施⽹⻚抓取时要进⾏主题筛选。它尽量保证只抓取与主题相关的⽹⻚信息。
2. 聚焦⽹络爬⾍并不追求⼤的覆盖,⽽将⽬标定为抓取与某⼀特定主题内容相关的⽹⻚,为⾯向主题的⽤户查询准备数据资源。
3. 聚焦爬⾍的⼯作流程较为复杂,需要根据⼀定的⽹⻚分析算法过滤与主题⽆关的链接,保留有⽤的链接并将其放⼊等待抓取的URL 队列。然后,它将根据⼀定的搜索策略从队列中选择下⼀步要抓取的⽹⻚URL,并重复上述过程,直到达到系统的某⼀条件时停⽌。
4. 另外,所有被爬⾍抓取的⽹⻚将会被系统存贮,进⾏⼀定的分析、过滤,并建⽴索引,以便之后的查询和检索;对于聚焦爬⾍来说,这⼀过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

URL 的基本概念:

我们先来看⼀下浏览⽹⻚的基本过程,⽐如我们在浏览器地址栏输⼊:http://www.baidu.com     后台会发⽣什么?

简单来说这段过程发⽣了以下四个步骤:

1. 浏览器通过 DNS 服务器 查找域名对应的 IP 地址;
2. 向 IP 地址 对应的 Web 服务器 发送请求;
3. Web 服务器 响应请求,发回 HTML⻚⾯;
4. 浏览器解析 HTML 内容,并显示出来。

DNS 是计算机域名系统 (Domain Name System 或 Domain Name Service) 的缩写,由解析器和域名服务器组成的。 域名服务器是指保存有该⽹络中所有主机的域名和对应 IP 地址,并具有将域名转换 为 IP 地址功能的服务器。其中域名必须对应⼀个 IP 地址,⽽IP 地址不⼀定会有域名.

URL:

我们给浏览器输⼊的地址,实际上就是⼀个 url(Uniform Resource Locator)统⼀资源定位符,URL 就是⽹址。
URL,即统⼀资源定位符,也就是我们说的⽹址。
统⼀资源定位符是对可以从互联⽹上得到的资源的位置和访问⽅法的⼀种简洁的表示,是互联⽹上标准资源的地址。 互联⽹上的每个⽹⻚⽂件都有⼀个唯⼀的 URL,它包含的信息指出⽂件的位置以及浏 览器应该怎么处理它。
URL 的格式由三部分组成:
①第⼀部分是协议(或称为服务⽅式,⽐如 HTTP、FTP 等等)。
②第⼆部分是存有该资源的主机 IP 地址(或者域名,有时也包括端⼝号)。
③第三部分是主机资源的具体地址(⽬录和⽂件名等)。
其中:
第⼀部分和第⼆部分⽤ “://” 分割 第⼆部分和第三部分⽤ “/” 分割
1 :// 2 / 3 —–> http://www.baidu.com/channel/teacher.shtml#ac
爬⾍爬取数据时必须要有⼀个⽬标的 URL 才可以获取数据。因此,它是爬⾍获取数据的基本依据,准确理解它的含义对爬⾍学习有很⼤帮助。
⽹络爬⾍要做的,简单来说,就是实现浏览器的功能。通过指定 url,直接返回给⽤户所需要的数据, ⽽不需要⼀步步⼈⼯去操纵浏览器获取。

写到这里发现有很多关于web网页和HTTP等基础知识需要讲解,博主打算放到后面案例中用到一部分讲一部分。

本文参考各路前辈内容!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值