【Python笔记】网络爬虫——介绍

随着大数据时代的来临,网络信息量也变得更多、更大、网络爬虫在互联网中的地位将越来越重要。本章将对网络爬虫进行简单介绍。

网络爬虫概述

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

网络爬虫的分类

网络爬虫按照实现的技术和结构可以分为以下几类:

  • 通用网络爬虫
  • 聚焦网络爬虫
  • 增量式网络爬虫
  • 深层网络爬虫
  • ······

通用式网络爬虫

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

聚焦网络爬虫

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

增量式网络爬虫

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

深层网络爬虫

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

网络爬虫的基本原理

一个通用的网络爬虫基本工作流程如下:
(1)获取初始的 URL,该 URL 地址是用户自己指定的初始爬取的网页。
(2)爬取对应的 URL 地址的网页时,获取新的 URL 地址。
(3)将新的 URL 地址放入 URL 队列中。
(4)从 URL 队列中读取新的 URL,然后依据新的 URL 爬取网页,同时从新的网页中获取新的 URL 地址,重复上述的爬取操作。
(5)设置停止条件,如果没有设置停止条件时,爬虫会一直爬取下去,直到无法获取新的 URL 地址为止。设置了停止条件后,爬虫将会在满足停止条件时停止爬取。

尚硅谷是一个提供在线教育的学习平台,他们提供了Python爬虫的相关教学课程。通过学习这些课程,你可以获得Python基础知识、前端基础知识、计算机网络基础以及爬虫原理等方面的知识。Python基础教学可以参考B站尚硅谷的教学视频,这些视频可以帮助你建立起对Python的基本认识。而前端基础知识包括HTML、CSS和JavaScript的学习,它们分别代表网页的骨架、肌肉和皮肤,只有结合起来才能形成一个完整的网页。此外,你还可以通过学习计算机网络基础来理解HTTP和HTTPS、URL以及网页请求等内容。爬虫原理也是其中的一部分内容,它可以帮助你了解如何通过爬虫程序获取网页数据。所以,如果你对Python爬虫感兴趣,尚硅谷提供的Python爬虫课程可能是一个不错的选择。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [零基础自学python爬虫笔记Day1——爬虫的基本原理](https://blog.csdn.net/Seyhang/article/details/119420052)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Python爬虫】urllib库——尚硅谷](https://blog.csdn.net/qq_48108092/article/details/126097408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萌宅鹿同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值