可狱可囚的爬虫系列课程 01:爬虫了解

开头先送大家一句话:“心中有法,行为有度;心中无法,佛祖难渡。”

一、什么是爬虫?

简言之,爬虫就是一种可以帮助我们把网站上的信息快速提取并保存下来的一种工具。
通俗的解释就是,我们可以把互联网比作一张大网,而爬虫便是在网上爬行的蜘蛛(Spider)。把一个个的网站看成蜘蛛网上的节点,爬虫爬到某个节点就相当于访问了某个网站,就能够把网站上的信息提取出来。我们可以把节点间的连线比作网站与网站之间的互通关系,这样蜘蛛通过一个节点后,可以顺着连线继续爬行到下一个节点,即爬虫在互联网中是可以随意爬行的,这样整个互联网中的数据便可以被爬虫全部爬取。

二、爬虫有什么用?

通过上面的简单叙述,你可能大致了解了爬虫是拿数据的,但是说的还不够直观,我们再详细说说!
互联网中的所有东西都是数据,像图片、音频、视频、文字等,这样说你应该体会的更加直观了,举个例子:

  • 我们在网上看到了很多精美的图片,想要保存下来,但是一张一张的下载就显得非常的费时费力,那么就可以利用爬虫将这些图片批量的抓取下来,极大地节省我们的精力。
  • 我们想收集一些视频网站上不同类别视频的点赞信息进行分析,也可以写个爬虫爬取点赞数据。

另外,大家抢过的火车票、演唱会门票等等都可以利用爬虫来实现。

三、爬虫的分类

我们常见的爬虫就分两类:通用爬虫聚焦爬虫

  • 通用爬虫:百度、谷歌、必应这类搜索引擎本质就是通用爬虫,我们之所以能从百度搜到信息,就是因为它提前已经借助爬虫检索好了数据。
  • 聚焦爬虫:又名定向爬虫,就是我们平时针对某个网站而写的程序。

四、所谓的“爬虫学的好,牢饭吃到饱!”

时不时冒出一两个因为爬虫入狱的新闻,是不是爬虫是违法的呀,这个不一定,爬虫目前是灰色地带的技术,没有说爬虫不能使用,我们就理解为法不禁止则为允许,大家只要区分好这个网站能不能爬,这个网站的数据爬了之后能不能商用,就可以避免牢底坐穿!
在此引用一下“中华人民共和国最高人民检察院”收录的一些研究性文章,大家可以稍微看一下:
《规范数据爬取行为的合理路径》《网络爬虫无处不在,侵权边界在哪》《爬取数据须遵规》《明确越界网络爬虫行为的刑事处罚边界》
下面也有一些关于爬虫的案件,这里列举几个,更多的大家自己上网搜索吧。

在这里插入图片描述


![在这里插入图片描述](https://img-blog.csdnimg.cn/4be3e15a28aa49bdbe20a7e43f44d83b.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/9d3ff0ef10cc4cfba6cae6931b4e5813.png#pic_center)

五、 robots 协议

绝大部分网站,其实都设置了一个 robots 协议,这个协议规定了本网站哪些页面可以爬取,哪些页面不可以爬取,我们就拿 bilibili 来举例,在 bilibili 的网址上添加**/robots.txt**,就可以看到 robots 协议规定的内容,如图:

在这里插入图片描述

不过 robots 协议虽然有规定,但是呢它就是一纸说明,然而并没有技术上的限制,所以是否要遵循 robots 协议由你自己决定,但是最好还是遵守的。

六、爬虫的大致流程

  1. 获取网页

爬虫首先要做的工作就是请求网页,获取网页源代码,我们想要的信息大部分都包含在源码中。
我们用浏览器浏览网页时,浏览器就在进行获取网页源代码的过程。浏览器向服务器发送请求,服务器给浏览器返回响应结果,响应结果中就包含了我们需要的网页源码,浏览器根据响应结果将源码解析并呈现出来,我们就看到了精美的页面。所以,我们要写的爬虫其实就和浏览器功能类似。刚才说,最关键的部分就是发送请求给服务器,然后接收到响应结果并将源码数据解析出来,那么这个流程怎样用 Python 实现呢?Python 提供了许多库来帮助我们实现这个操作,如urllib、requests等,我们可以用这些库来实现请求操作,得到响应结果之后再进行数据的解析即可得到网页的源代码。

  1. 提取信息

获取网页源代码后,接下来就是分析网页的源代码,从中提取我们想要的数据。首先,性能最好的方法便是采用正则表达式提取,这是一个万能方法,但是在构造正则表达式时比较复杂容易出错,所以初学者推荐使用更简单的方法。
由于网页的结构有一定的规则,所以还存在一些根据前端标签、属性等来提取网页信息的库,如 BeautifulSoup4、pyquery、lxml 等,使用这些库,我们可以简单快速地提取网页信息。
提取信息是爬虫非常重要的部分,它可以使杂乱的数据变得清晰有条理,以便我们后续使用数据。

  1. 保存数据

提取信息后,我们会将提取到的数据保存到某处以便后续使用。这里保存形式有多种多样,可以保存为TXT文件或JSON文件,也可以保存为我们常用的CSV文件或Excel文件,还可以保存到数据库,如 MySQL、MongoDB 等,这个需要看你自己的需求。
经过本节内容的讲解,大家肯定对爬虫有了基本了解,接下来让我们一起迈进学习爬虫的大门吧!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HerrFu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值