Python的网络爬虫框架-初识网络爬虫


一、前言

  • 个人主页: ζ小菜鸡
  • 大家好我是ζ小菜鸡,让我们一起来学习Python的网络爬出框架
  • 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)

二、引言

   随着大数据时代的来临,网络信息量也变得更多,更大,网络爬虫在互联网中的地位将越来越重要。本文将介绍通过Python语言实现网络爬虫的常用技术,以及常见的网络爬虫框架。


三、网络爬虫概述

   网络爬虫(又被称作网络蜘蛛、网络机器人,在某社区中经常被称为网页追逐者),可以按照指定的规则(网络爬虫的算法)自动浏览或抓取网络中的信息,通过Python 可以很轻松的编写爬虫程序或者是脚本。

   在生活中网络爬虫经常出现,搜索引擎就离不开网络爬虫。例如,百度搜索引擎的爬虫名字叫做百度蜘蛛。百度蜘蛛,是百度搜索引擎的一个自动程序。它每天都会在海量的互联网信息中进行爬取,收集并整理互联网上的网页、图片视频等信息。然后当用户在百度搜索引擎中输入对应的关键词时,百度将从收集的网络信息中找出相关内容,再按照一定的顺序将信息展现给用户。百度蜘蛛在工作过程中,搜索引擎会构造一个调用程序,来调用百度蜘蛛的工作,这些调度程序都是需要使用一定的算法来实现。采用不同的算法,爬虫的工作效率会有所不同,爬取的结果会有所差异。所以,在学习爬虫的时候不仅需要了解爬虫的实现过程,还需要了解一些常见的爬虫算法。在特定的情况下,还需要开发者自己制定相应的算法。


四、网络爬虫的分类

   网络爬虫按照实现的技术和结构可以分为以下几种类型:同用网络爬虫聚焦网络爬虫增量式网络爬虫深层网络爬虫 等类型。在实际网络爬虫中,通常是这几类爬虫的组合体:

1.通用网络爬虫

   通用网络爬虫又叫作全网爬虫,同用网络爬虫的爬行范围和数量巨大,正是由于其爬取的数据是海量的数据,所以对于爬虫速度和存储空间的要求较高。通用网络爬虫在爬行页面的顺序要求上相对较低,同时由于待刷新的页面太多,通常采取并行工作方式,所以需要较长的时间才可以刷新一次页面。所以存在一定缺陷,这种网络爬虫主要用于大型搜索引擎中,有非常的应用价值。通常网络爬虫主要由初始URL 集合、URL 队列、页面爬行模块、页面分析模块、页面数据模块、页面过滤模块等构成。

2.聚集网络爬虫

  聚集网络爬虫也叫作主题网络爬虫,是指按照预先定义好的主题,有选择地进行相关网页爬取的一种爬虫。他和通用网络爬虫相比,不会将目标资源在整个互联网当中,而是将爬取的目标网页定位在主题相关的页面中。这样极大地节省了硬件和网络资源,保存的页面也由于数量少而更快,聚焦网络爬虫主要应用在特定信息的爬取,为某一类特定人群提供服务。

3.增量式网络爬虫

  增量式网络爬虫,所谓增量式,对应着增量更新。增量式更新是指在更新的时候只更新改变的地方。而未改变的地方则不更新,所以增量式网络爬虫,在爬取网页的时候,只会在需要的时候爬行新产生的页面,对于没有发生变化的页面,则不会爬取。这样可以有效的减少下载量,减少时间和空间上的耗费,但是在爬行算法上增加了一些难度。

4.深层网络爬虫

  在互联网中,Web页面按存在方式可以分为表层网页和深层网页,表层网页指的是不需要提交表单,使用静态的超链接就可以直接访问静态页面。深层网页指的是那些大部分内容不能通过静态页面链接获取的、隐藏在搜索表单后面的,需要用户提交一些关键词才能获取得到web页面。深层页面需要访问的信息数量是表层页面信息的几百倍,所以深层页面是主要爬取的对象。
  深层网络爬虫最主要通过六个基本功能的模块(爬行控制器、解析器、表单分析器、表单处理器、响应分析器、LVS控制器)和两个爬虫内部数据结构(URL列表、LVS表)等部分构成。其中LVS表示标签/数值集合,用来表示填充表单的数据源。


五、网络爬虫的基本原理

在这里插入图片描述

  • ① 指定一个种子url放入到队列中
  • ② 从队列中获取某个URL
  • ③ 使用HTTP协议发起网络请求
  • ④ 在发起网络请求的过程中,需要将域名转化成IP地址,也就是域名解析
  • ⑤ 得到服务器的响应,此时是二进制的输入流
  • ⑥ 将二进制的输入流转换成HTML文档,并解析内容(我们要抓取的内容,比如标题)
  • ⑦ 将解除出来的内容保持到数据库
  • ⑧ 记录当前URL,并标记为已爬取,避免下次重复爬取
  • ⑨ 从当前的HTML文档中,解析出页面中包含的其它URL,以供下次爬取
  • ⑩ 判断解析出来的URL是否已经爬取过了,如果已经爬取就丢弃掉
  • ⑪ 将还没爬取过的URL,存放到等待爬取的URL队列中
  • ⑫ 重复以上的步骤,指导等待爬取的URL队列中没有数据

  Python的网络爬出框架-初识网络爬虫的介绍,到此就结束了,感谢大家阅读,如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)


猜你喜欢

转载自blog.csdn.net/weixin_45191386/article/details/131445359