爬虫学习part1

本文介绍了网络爬虫的基本概念,包括其概述、分类(通用、聚焦和增量式)、以及如何通过Python实现。重点讲述了百度蜘蛛的工作原理和不同类型的爬虫在性能、资源消耗及应用场景上的特点。
摘要由CSDN通过智能技术生成

一个最简单的爬虫就是通过程序,用技术手段模拟人的操作,从中获取到服务器里的众多数据。先解析出自己需要的信息,再由程序决定接下来做什么。


1.1 网络爬虫概述

网络爬虫,可以按照指定的规则自动浏览或抓取网络中的信息,通过Python可以很轻松地编写爬虫程序或者是脚本。

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

1.2 网络爬虫分类

网络爬虫按照实现的技术和结构可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫。

1.2.1 通用网络爬虫

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

1.2.2 聚焦网络爬虫

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

1.2.3. 增量式网络爬虫

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

1.3 网络爬虫的基本原理

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

  • 37
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值