网页数据抓取怎么写(网的节点就是一个个获取网页并提取和保存信息的自动化 )
优采云 发布时间: 2022-03-31 01:26网页数据抓取怎么写(网的节点就是一个个获取网页并提取和保存信息的自动化
)
第三部分爬虫基本原理
如果说互联网是一个大网,那么爬虫(即网络爬虫)就是在网络上爬行的蜘蛛。
网络的节点是网页,爬虫到达节点就相当于访问网页并获取信息。
节点之间的连接是网页和网页之间的链接,沿着这条线可以到达下一个网页。
一、爬虫概述
简单地说,爬虫是一个自动程序,它获取网页并提取和保存信息。
1、获取网页
爬虫获取的网页是指获取到的网页的源代码。源码中收录了一些有用的信息,所以只要拿到源码,就可以从中提取信息。
向网页的服务器发送请求,返回的响应体就是源码,所以关键步骤是构造一个请求发送给服务器,然后解析接收到的响应体。那么我们如何截取网页的源代码呢?用手?
不用担心,python提供了很多库来帮助我们实现这个操作,比如urllib、requests等。
2、提取信息
有了网页的源代码,接下来就是分析网页的源代码,从中提取出我们想要的数据。最常用的方法是使用正则表达式提取,这是一种通用的方法,但结构复杂且容易出错。
怎么做?不用担心,因为网页的结构是有一定规律的,很多python库都可以帮到我们,比如Beautiful Soup、pyquery、lxml等。
3、保存数据
提取信息后,需要将其保存以备后用。这里的保存形式有多种,可以简单的保存为TXT文本或者JSON文本,也可以保存到MySQL、MongoDB等数据库中。
4、自动化程序
爬虫是代表我们完成爬取工作的自动化程序。可以在爬取过程中进行各种异常处理、错误重试等操作,保证爬取持续高效运行。
二、我可以捕获什么样的数据
最常抓取的是 HTML 源代码,有时是便于传输和解析的 JSON 字符串,图片、视频和音频等各种二进制数据,以及具有各种扩展名的文件。
三、JavaScript 渲染页面
有时,当使用 urllib 或 requests 抓取网页时,您获得的源代码实际上与浏览器看到的不同。因为越来越多的网页是用 Ajax 和前端模块化工具构建的,所以整个网页都是用 JavaScript 渲染的,也就是说原来的 HTML 代码只是一个空壳。
那该怎么办?爬空壳?
别担心,我们可以使用 Selenium 和 Splash 等库来模拟 JavaScript 渲染。
这部分介绍的爬虫的基本原理,会帮助我们以后写爬虫的时候更加得心应手!