js 爬虫抓取网页数据( 简单来说,爬虫就是获取网页并提取和保存信息的自动化程序)

优采云 发布时间: 2022-01-28 17:19

  js 爬虫抓取网页数据(

简单来说,爬虫就是获取网页并提取和保存信息的自动化程序)

  

  爬虫概述

  简单地说,爬虫是一个自动程序,它获取网页并提取和保存信息。

  爬虫可以总结为4个步骤:

  

  1.获取网页

  爬虫要做的第一个工作就是获取网页,也就是获取网页的源代码。源代码中收录了网页的一些有用信息,所以只要得到源代码,就可以从中提取出想要的信息。

  根据请求和响应的概念,向网站的服务器发送一个请求,返回的响应体就是网页的源代码。因此,最关键的部分是构造一个请求并发送到服务器,然后接收响应并发送到服务器。解析出来。

  

  Python 是实现爬虫的非常有用的工具。它提供了很多库来帮助我们实现这个操作,比如urllib、request等。我们可以使用这些库来帮助我们实现HTTP请求操作。请求和响应都可以用类库提供的数据结构来表示。得到响应后,我们只需要解析数据结构的Body部分即可。

  总结:

  通过python的爬虫相关库,实现HTTP请求操作,获取服务器响应,获取网页源码

  2.提取信息

  得到网页的源代码后,接下来就是分析网页的源代码,从中提取出我们想要的数据。通用的方法是使用正则表达式来提取。

  另外,由于网页的结构有一定的规则,python也有一些基于网页节点属性、CSS选择器或者XPath来提取网页信息的库,比如Beautiful Soup、pyquery、lxml等。使用这些库,我们可以高效快速地提取网页信息,如节点属性、文本值等。

  提取信息是爬虫的一个非常重要的部分。它可以从杂乱的数据中获取有效的信息,方便我们后期对数据进行处理和分析。

  总结:

  正则表达式是一种通用的提取方式,也可以使用一些从网页节点属性、CSS选择器等中提取信息的库,如Beautiful Soup、pyquery、lxml等。

  3.保存数据

  提取信息后,我们一般将提取的数据保存在某处以备后用。存储形式多样,简单处理可以保存为TXT或JSON文本。它也可以保存到 MySQL 和 MongoDB 等数据库中。或保存到远程服务器。

  4.自动化程序

  简单来说,爬虫可以在爬取过程中进行各种异常处理、错误重试等操作,持续高效地完成获取网页、提取信息、保存数据等工作。

  爬虫可以抓取什么样的数据

  [1] 最常见的爬取是 HTML 源代码。

  [2] JSON字符串,有些网页返回JSON字符串而不是HTML代码,特别是API接口多采用这种形式,这种格式的数据易于传输和解析,也可以被抓取,数据提取更方便。

  [3] 爬虫可以抓取图片、视频、音频等二进制数据,并保存为对应的文件名。

  [4] 各种扩展文件,例如 CSS、JavaScript 和配置文件。

  页面的 JavaScript 渲染

  有时候,当我们使用 urllib 或者 request 爬取一个网页时,得到的源码其实和我们在浏览器中看到的不一样。

  这是一个非常普遍的问题。因为越来越多的网页是用 Ajax 和前端模块化工具构建的,所以整个网页可能都是用 JavaScript 渲染的,也就是说原来的 HTML 代码只是一个空壳。

  例如下面的 HTML 代码

  

This is a Demo

  body节点中只有一个id为container的节点,但是在body节点之后引入了app.js,负责整个网站的渲染。

  过程是在浏览器中打开页面时,先加载HTML内容,然后浏览器会找到那个app。代码,JavaScript 更改 HTML 中的节点,向它们添加内容,最后呈现完整的页面。

  当我们请求一个带有 urllib 或 request 等库的页面时,我们得到的只是这个 HTML 代码,它不会帮助我们加载这个 JavaScript 文件,所以我们在浏览器中看不到内容。

  对于这样的情况,我们可以分析它的后台Ajax接口,或者使用Selenium、Splash等库来模拟JavaScript渲染,后面会介绍。

  本文总结参考《Python3网络爬虫开发实战》

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线