网页数据抓取(Python爬虫第二章爬虫爬虫基础第3节爬虫的基本原理)
优采云 发布时间: 2022-01-26 15:10网页数据抓取(Python爬虫第二章爬虫爬虫基础第3节爬虫的基本原理)
文章目录Python爬虫第2章爬虫基础第三节爬虫基本原理一、爬虫概述
获取网页:
行
得到网页的源代码后,接下来就是分析网页的源代码,从中提取出我们想要的数据。首先,最常用的方法是使用正则表达式提取,这是一种通用的方法,但是在构造正则表达式时比较复杂且容易出错。
保存数据
提取的数据可以以各种形式保存。比如可以简单的保存为TXT文本或者JSON文本,也可以保存到数据库,比如MySQL、MongoDB等,也可以保存到远程服务器,比如借助SFTP等。
爬虫可以代替我们自动完成这个爬取工作。可以在爬取过程中进行各种异常处理、错误重试等操作,保证爬取的持续高效运行。
二、可爬取的数据 常规网页,它们对应HTML代码,也是最常爬取的HTML源代码。此外,有些网页可能会返回 JSON 字符串而不是 HTML 代码(大多数 API 接口使用这种形式)。这种格式的数据易于传输和解析。它们也可以被捕获,并且数据提取更方便。此外,我们还可以看到图片、视频、音频等各种二进制数据。使用爬虫,我们可以抓取这些二进制数据,并保存为对应的文件名。此外,您还可以看到具有各种扩展名的文件,例如 CSS、JavaScript 和配置文件。这些实际上是最常见的文件。只要它们可以在浏览器中访问,您就可以抓取它们。
上面的内容其实是对应了它们各自的URL,都是基于HTTP或者HTTPS协议的。只要是这种数据,爬虫就可以
爬行。
三、通过 JavaScript 渲染的页面
如今,越来越多的网页使用 Ajax 和前端模块化工具构建。整个网页可能会被 JavaScript 渲染,这意味着原创的 HTML 代码是一个空壳,这导致我们使用 urllib 或请求来爬取网页。,你得到的源代码实际上和你在浏览器中看到的不同。
喜欢
1
2
3
是指引入app.js,负责渲染整个网站
在浏览器中打开页面时,会先加载HTML内容,然后浏览器会发现里面引入了一个app.js文件,然后会继续请求这个文件。获取文件后,它将执行 JavaScript 代码,该代码更改 HTML 中的节点,向它们添加内容,并最终得到一个完整的页面。
但是当使用 urllib 或 requests 等库请求当前页面时,我们得到的只是这段 HTML 代码,它不会帮助我们继续加载 JavaScript 文件,因此我们将无法在浏览器中看到内容。
因此,使用基本的HTTP请求库得到的源代码可能与浏览器中的页面源代码不一样。对于这样的情况,我们可以分析它的后台Ajax接口,或者使用Selenium、Splash等库来模拟JavaScript渲染。