爬虫/浩瀚网络任我遨游

去社区提问

简介:爬虫是Python的一个应用场景,它是快速获取大量网络资源的方式。爬虫都有哪些用处,对我们来说有什么价值,本节课带你全面扫清疑惑。

浩瀚网络任我遨游

爬虫——获取网络资源的方式

了解过Python的同学一定都听说过网络爬虫,甚至很多同学开始学习Python的小目标也都是掌握爬虫这项有趣且实用的技能~

那么,究竟什么是爬虫?学会它有什么好处?今天就让我带你来一探究竟。

来看下面几个场景:

最近又想重温儿时的记忆,回顾一遍《斗破苍穹》这部小说,可惜经过时间的洗礼,当初买的书早就不知道在哪个角落默默哭泣了。想要把完整的小说资源下载到自己的电脑上,无聊的时候打开回忆一下青涩的童年,多么惬意而美好啊~

小王所在的公司要进行竞品调研,需要获取其他公司的信息,复杂又庞大的收集工作就好像大海捞针,费时费力,得到的结果也不一定全面准确。

小张接到了领导交给他一项任务,需要下载500张同主题的图片,做宣传推广使用,卑微小张在线崩溃,结果你应该能预想到……果然,加班可能会迟到,但从不会缺席。

生活中你是不是也曾经遇到过类似上面的绝望时刻,爬虫都可以帮上大忙,它可以从网络获取资源和信息,快速得到想要的内容。

什么是爬虫

简单来说,爬虫是一种获取网络资源的方式。

看到这里你可能会想问:从网上获取信息,我直接百度就好了,为什么非要写个代码呢?

网络爬虫是按照一定规则从互联网上抓取信息的程序。

它与用户正常访问信息的区别就在于:用户是缓慢、少量的获取信息,而爬虫是大量获取信息。

就好比双十一到来,你登陆淘宝,想给猫主子买一个猫爬架,当然可以通过搜索看到各个店铺的货品以及价格。

那么要想知道获取选中的猫爬架商品在全网每个店铺的价格和销量,以及双十一活动中是不是真的降价了,过去几个月的价格情况是怎么样的,就可以利用爬虫来找到答案。

说起网络爬虫,人们常常会用这样一个比喻:如果把互联网比喻成一张网,那么网络爬虫就可以认为是一个在网上爬来爬去的小虫子,它通过网页的链接地址来寻找网页,通过特定的搜索算法来确定路线。

通常从网站的某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有网页都抓取完为止。

说了这么多,你一定想知道利用爬虫具体能做哪些有趣的事情,下面就跟着我一起来看几个简单小例子~

抢票软件

每逢佳节,大家对于回家抢票这件事是不是特别头疼呢?12306又总是出现迟钝,卡死的情况。让我们这群‘有钱没钱都想回家过年’的孩子们无奈地被车票拦截在了半路。

可是谁也拦不住我们这颗思乡的心,用爬虫写一个自动抢票工具,通过Python程序一步步实现模拟浏览器进行请求,并能实现不断地监控余票,当抢票成功时候还会自动发送邮箱提醒。

这下妈妈再也不用担心我回不了家。

除了12306抢票外,对程序进行优化,比如演唱会等抢票都可以实现。

爬取论文

我的吃鸡队友翔哥最近有些反常,每到晚上吃鸡时间,三缺一邀请他组队喜迎欢乐时光,他却只是冷酷地说:“我要献身科研。”

再也不是曾经那个一呼叫就上号的快乐少年了。

原来正在读研的阿翔同学最近被导师逼着交论文,现在正往秃头科研少年的方向发展,现在急需获得大量参考文献。

来写个爬虫小程序帮他搞定~

看,轻松帮翔哥搞定了论文参考资料的下载整理,他又可以回归吃鸡小分队了。

睡前故事

爬虫除了能帮我们完成严肃认真的工作,还能用它来展示一下程序员的浪漫。

用爬虫写个小程序每晚爬取睡前故事发送给女朋友,让粉红色的小泡泡时刻围绕在你们身边。

当然你也可以积极发挥想象,爬取其他内容,例如每日天气预报和穿衣指南等等,定时发送给女朋友。

在这偷偷预告一下,后面的案例讲解中会详细解读具体实现方法,也会为你提供相应代码,期待一下~

爬取网络图片

再来看一个爬取网络图片的小例子,输入作者名就可以将相关的作品一键下载到本地。再也不用一张一张点击下载保存,做重复性工作了。

像这样的例子还有很多,租房信息,电影视频,豆瓣排行榜等等都可以用爬虫轻松获取。

爬虫的价值

爬虫对整个互联网的价值非常重要甚至无法估量,那对于小我而言,爬虫能给我们带来哪些价值?为什么学会Python后许多同学前仆后继地涌进爬虫的学习阵营中来呢?

  1. 简单易学,成就感强

上班族或学生党利用业余时间从零基础开始经过一两个月时间的学习就就可以掌握Python语法和爬虫的简单应用方法。并且学习爬虫对数学或计算机基础没有其他要求,相对简单易学。

学习了爬虫很快能够自己写出小程序来应用在工作和生活中,看到学习效果,成就感满满~

  1. 是其他技能的基础

爬虫是学习数据分析等其他技能的基石。在前面的课程中我们详细讲解过数据分析的流程和方法,其中第一步就是数据的获取。

如果我们手中有可以从公司数据库获取或其他形式现有的数据资源,就可以直接对它们进行分析操作。但是许多情况下我们想要分析的数据都不在自己的手中,例如竞品的信息、客户信息等,数据资源需要从网络上收集,这时候就需要用到爬虫这个小帮手啦。

爬虫作为数据的来源,后面还有很多方向可以发展,比如可以往大数据分析、数据展示、机器学习等方面发展,前途不可限量,现在作为大数据时代,占据在数据的的入口,还怕找不到发展方向?所以爬虫也许只是一个起点一个跳板,也许马上就能走上新的高度了呢。

  1. 应聘时的加分项

招聘市场上,许多企业都需要全面复合型的人才。学会爬虫可以成为简历上一个不错的加分项,说不定能给自己增加更多选择的机会。

  1. 有前景的就业方向

就业的话主要从招聘和薪资来看,登陆招聘网站,可以看到关于Python爬虫工程师的要求大概是下面这样:

行业薪资上,我在网上查阅到了一些信息,供大家参考:

爬虫的简单原理

下面的图片很好的展现了一般网络爬虫的基本过程,下面让我们来详细解释一下这张图片的含义吧。

  1. 发送请求

爬虫的第一个步骤就是对起始url发送请求,以获取其返回的响应。

url是统一资源定位符,其实你应该对它很熟悉,简单来说就是下面图中的这个东西:

在这里先有个印象就可以,后面的案例讲解中会详细为你解释。

比方说,现在你要去小伙伴家里拿一些资料,把这个比做爬虫爬取资源过程的话,第一步发送请求就相当于就要给小伙伴发送‘我要去拿资料了’的消息,当然这个消息的格式和内容是有具体限制的。

那么怎么准确找到,发送给朋友呢?当然是要知道小伙伴家的地址啦,这里的url统一资源定位符就相当于门牌号,要对它发送请求。

  1. 获取响应

爬虫的第二个步骤就是获取特定url返回的响应,以提取包含在其中的数据

发送请求后,我们找到小伙伴的门牌号,他作出回应并把资料传递到你的手中。

  1. 解析网页

解析网页实质上需要完成两件事情,一是提取网页上的链接,二是提取网页上的资源

(1)提取链接
提取链接实质上是指获取存在于待解析网页上的其他网页的链接

网络爬虫需要给这些链接发送请求,如此循环,直至把特定网站全部抓取完毕为止

(2)提取资源
提取数据则是爬虫的目的,常见的数据类型如下:

文本:HTML,JSON 等

图片:JPG,GIF,PNG 等

视频:MPEG-1、MPEG-2 和 MPEG4,AVI 等

最终,我们可以对所获得的资源作进一步的处理,从而提取出有价值的信息

这个步骤就相当于小伙伴给到了你资料,但是打开一看,咦?好像并不太能看懂,还需要带回家用一些固定的方法对它们做解析才能得到最终想要的结果。

好啦,相信今天的课堂结束后你对爬虫一定有了新的认识,在后续的案例讲解环节中我会为你带来爬虫的几个实用小项目,继续带你解读它的奇妙之处。想了解更多Python相关内容,欢迎添加班主任微信,和更多同学一起交流学习,我们下节课再见哦~

扫描下方二维码添加班主任微信

爬虫 1/3

浩瀚网络任我遨游

1.0x

恭喜完成本课时的学习!
坚持学习

行动力超过

累计学习

学习下一课时