
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
爬虫是我们在学习python编程开发的时候需要重点学习的一项技术,而今天我们就通过案例分析来了解一下,爬虫的核心以及抓取方式。
一、爬虫的核心
什么是爬虫,讲点通俗易懂的,爬虫就是爬取网页,从中按照一定规则提取信息,重复以上过程自动化重复完成的程序。
一只爬虫,主要的事情就是要爬取网页,这里主要是指获取网页的源代码。在网页的源代码里,会含有我们所需要的信息,而我们要做的事情就是从源代码中将这些信息提取出来。
我们请求网页的时候,Python为我们提供了很多库来做这件事情,比如官方提供的urllib,以及其他方提供的requests、Aiohttp等。
我们可以使用这些库来发送HTTP请求,获取响应的数据,得到响应之后,我们只需要解析其中body部分的数据,就可以获得网页的源代码。
获取到源代码以后,我们接下来的工作就是解析源代码,从中提取出我们需要的数据。
提取数据基础也是常用的是使用正则表达式的方式的,但是这种方式比较复杂,也比较容易出错,不过不得不说,一个正则表达式写的非常厉害的人,完全用不着下面的这些解析类库,这是一个万能的方法。
悄悄的说一句,小编的正则表达式写的也不好,才会使用到这些由三方提供的类库。
用于提取数据的类库有BeautifulSoup、pyquery、lxml等等。使用这些库,我们可以高效快速地从HTML中提取网页信息,如节点的属性、文本值等。
从源代码中提取到数据以后,我们会对数据进行保存,这里的保存形式多种多样,可以直接保存成txt、json、Excel文件等等,也可以保存至数据库,如Mysql、Oracle、SQLServer、MongoDB等等。
二、抓取的数据格式
一般而言,我们抓取到的都是HTML的网页源代码,这个是我们看得到的、常规的、直观的网页信息。
但是有些信息,并不是直接和HTML一起返回至网页的,会存在各种各样的API接口,这种接口返回的数据现在大多数是JSON的格式,也有一些会返回XML的数据格式,还会有一些个别的奇葩的接口直接返回程序猿自定义的字符串。这种API数据接口就需要具体问题具体分析了。
还有一些信息,比如各大图片站、视频站(如抖音、B站),我们想要爬取的信息是图片或者视频,这些信息是已二进制的形式存在的,我们需要将这些二进制的数据爬取下来再进行转储。
此外,我们还能抓取到一些资源文件,如CSS、JavaScript等脚本资源,有的还会有一些woff等字体信息。这些信息是一个网页组成不可或缺的元素,只要浏览器能访问到的,我们都可以将其爬取下来。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。