爬虫的基本原理

这篇具有很好参考价值的文章主要介绍了爬虫的基本原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本原理

  可以把网页与网页之间的链接关系比作节点中的连线,爬虫可以根据网页中的关系获取后续的网页,当整个网站涉及的页面全部被爬虫访问到后,网站的数据就被访问下来了。

1.爬虫概述

  简单点讲,爬虫就是获取网页并提取和保存信息的自动化程序
总结原理就是:构造发送请求->获取网页->解析提取->存储

  • 获取网页
      获取网页这里指的就是获取网页源代码,因为源代码包含网页的部分有用信息。
      向网站的服务器发送一个请求,服务器返回的响应体便是网页源代码。所以爬虫获取网页最关键的部分就是构造一个请求并发送给服务器,然后接收到响应并对其进行解析。
      python对此提供了许多库,可以帮助我们实现,比如:urllib、requests等,我们可以用这些库帮助我们完成http请求操作。
  • 提取信息
      发送请求接收到响应体中的源代码后,接下来就是分析源代码,从中提取到我们想要的数据。最通用也是比较万能的方法就是正则表达式,但是构造正则表达式比较复杂也容易比较出错。
      另外可以根据网页结构的规则,可以根据网页节点属性、CSS选择器、xpath来提取网页信息,如Beautiful Soup、pyquery、lxml等。使用这些库,可以高效的从源代码中提取网页信息,如节点的属性、文本值等。
  • 保存数据
      提取到信息,后面考虑的就是要如何保存它来方便后续使用。保存数据形式多种多样,可以简单的保存为TXT文本、JSON文本、CSV文件、XLSX文件等,也可以保存到数据库,如MySQL、MongoDB等,还可以保存至远程服务器,如借助SFTP操作等。
  • 自动化程序
      爬虫可以替代人来完成上述操作,在爬取的过程中可以进行各种异常处理、错误重试等操作,确保爬取持续高效的运行。

2.能爬怎样的数据

  网页中存在各种各样的信息,最常见的就是常规网页,这些网页对应着HTML代码,最长抓取的就是HTML源代码。
  另外可能有的网页中返回的不是HTML代码,而是一个JSON字符串(API接口大多是这种形式),这种格式方便传输和解析。爬虫同样可以爬取这些数据,而且解析提取会更加方便。
  网页中还包含各种二进制数据,利用爬虫我们可以保存这些二进制数据,然后保存成对应的文件名。
  除了上述数据,网页中还存在各种扩展名文件,如CSS、JavaScript和配置文件等。这些文件只要在浏览器里可以访问到就可以抓取下来。
  上述内容其实都有对应的URL,URL基于HTTP/HTTPS协议,只要是这种数据,爬虫都可以抓取。

3.JavaScript渲染的页面

  有时候,我们利用urllib、requests抓取网页时,得到的源代码和浏览器中实际看到的并不一样。
  这种问题其实十分常见,因为现在越来越多的网页时采用Ajax、前端模块化工具构建的,可能整个网页都是JavaScript渲染出来的,也就是说HTML代码实际上就是一个空壳。
  浏览器打开这种页面时,首先会加载HTML内容,接着浏览器会发现其中引入了js文件,然后就会请求获取该文件,执行其中的JavaScript代码,JavaScript会改变HTML中的节点,向其中添加内容,最后得到完整页面。
  用urllib、requests请求这种页面时,得到的只是HTML代码,它不会继续加载JavaScript文件,所以也就无法得到完整网页内容。
  对于这种情况,我们可以分析源代码后台Ajax接口,也可以使用Selenium、Splash、Pytteteer、Playwright这样的库来模拟JavaScript渲染。文章来源地址https://www.toymoban.com/news/detail-806589.html

到了这里,关于爬虫的基本原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 爬虫基本原理

    爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。源代码里包含了网页的部分有用信息,所以只要把源代码获取下来,就可以从中提取想要的信息了。 获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。 另外,由于网页的结构有一定

    2024年02月05日
    浏览(26)
  • 网络爬虫基本原理的介绍

    网络爬虫是一种计算机程序,它通过网络请求从不同的服务器收集和抓取信息,并存储在本地文件或数据库中。 网络爬虫的基本原理主要包含以下几个部分: 首先,选择爬行目标并获得初始URL,然后下载并解析这个URL,接着,根据提取出的新URL,继续进行重复下载和解析。

    2024年01月25日
    浏览(40)
  • 爬虫入门到精通_基础篇1(爬虫基本原理讲解, Urllib库基本使用)

    发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。 获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。

    2024年01月23日
    浏览(40)
  • 爬虫的基本原理:爬虫概述及爬取过程

    前言 随着互联网的不断发展和普及,我们的生活越来越离不开网络。而网络世界中有着海量的信息和数据,这些信息和数据对于我们的工作和生活都有很大的帮助。但是,如何高效地获取这些数据呢?这时候,爬虫这个工具就派上用场了。 一、爬虫概述 爬虫是一种抓取互联

    2024年02月15日
    浏览(39)
  • 爬虫基本原理介绍、实现以及问题解决

    1. 前言 爬虫作为网络数据采集的重要工具,在当今互联网时代具有不可替代的作用。通过爬虫,我们可以获取到丰富的网络数据,用于各种用途,包括数据分析、业务决策、舆情监测等。 2. 爬虫能做什么 爬虫可以用于获取互联网上的各种数据,无论是文字、图片、视频还是

    2024年04月14日
    浏览(34)
  • 探秘网络爬虫的基本原理与实例应用

    1. 基本原理 网络爬虫是一种用于自动化获取互联网信息的程序,其基本原理包括URL获取、HTTP请求、HTML解析、数据提取和数据存储等步骤。 URL获取: 确定需要访问的目标网页,通过人工指定、站点地图或之前的抓取结果获取URL。 HTTP请求: 发送HTTP请求向目标服务器请求页面

    2024年01月20日
    浏览(36)
  • 网络爬虫学习笔记 1 HTTP基本原理

          ~~~~~           HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一种使用最为广泛的网络请求方式,常见于在浏览器输入一个地址。 URL(Universal Resource Locator,统一资源定位器) URI(Uniform Resource Identifier,统一资源标识符) URL 是 URI 的子集,URI还包括一个子类 UR

    2024年02月08日
    浏览(39)
  • 《网络爬虫开发实战》学习笔记:1.1 HTTP基本原理

    1.1.1 URI和URL ​ URI ,全称Uniform Resource Identifier,即 统一资源标志符 ; URL ,全称Uniform Resource Locator,即 统一资源定位符 。 ​ 举例来说,https://github.com/favicon.ico既是一个URI,也是一个URL。即有favicon.ico这样一个图标资源,用这样一个URI/URL指定了访问它的唯一方式,其中包括

    2024年02月03日
    浏览(46)
  • python爬虫基本功(一)--初识python爬虫与爬虫学习路径

    大家好,这里是Kaiser。👏👏今天想给大家介绍下python爬虫的知识,我将与大家一起去揭开python爬虫的神秘面纱,字不多敲,让我们进入今天的主题:初识python爬虫。 爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动的抓取万维网信息的程序或脚本,是搜

    2024年02月16日
    浏览(48)
  • Python网络基础爬虫-python基本语法

    熟悉C/C++语言的人们可能很希望Python提供switch语句,但Python中并没有这个,也没有这个语句结构。但是可以通过if-elif-elif-…这样的结构代替,或者使用字典实现。比如: 这段代码实现的功能是,输入一个运算符,再输入两个数字,返回其计算的结果。比如输入“+12”,

    2024年03月21日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包