Python爬虫的作用与地位(附python3教程+爬虫技术路线图)

小编说:网络爬虫是一种伴随着互联网诞生与演化的“古老”的网络技术,随着互联网进入大数据时代,爬虫技术迎来了一波新的振兴浪潮。 本文通过企业内部与互联网两个场景向大家讲书爬虫发挥了哪些重要作用。本文选自《虫术——Python绝技》一书。

在大数据架构中,数据收集与数据存储占据了极为重要的地位,可以说是大数据的核心基础。而爬虫技术在这两大核心技术层次中占有了很大的比例。为何有此一说?我们不妨通过一个实际应用场景来看看爬虫到底发挥了哪些作用?

在了解爬虫的作用之前,应该先了解其基本特性:

主动——爬虫的重点在于“爬取”(Crawl),这是一种主动性的行为。换句话说,它是一个可以独立运行且能按照一定规则运作的应用程序。

自动化——由于处理的数据可能很分散,数据的存留具有一定的时效性,所以它是一套无人值守的自动化程序。

企业内部爬虫

在我接近20年的IT从业生涯中,企业管理系统是我参与过的项目或产品中占比最大的。在这些项目与产品的开发过程中,我观察到很多企业内部其实有非常多的数据处理场景可以用爬虫技术进行处理,从而能以惊人的效率取代原有的人工化的操作。

以我近年来在电商企业内部所见为例,阿里巴巴(简称阿里)已显现出它在电子商务一统全球的实力与地位,几乎可以将电商与阿里之间划一个等号。阿里为各个店铺和商家提供了各种各样优秀的运营工具。我们会理所当然地认为电商企业内部的信息化管理程度一定很高,不是吗?然而事实恰恰相反,我见过的多数中小型的电商企业甚至是三板挂牌企业内部的信息化水平仍然非常落后,不少企业仍然依赖Excel这样基于大量人力为主导的表格处理。那么问题来了,为何阿里巴巴、京东这些电商平台已经提供了大量优质运营工具,而电商企业的信息化水平却很低,还需要靠劳动密集型的方式进行运营呢?

首先,电商企业不会只在某一平台上开店,通常都会在多个平台同时开多个店铺以拓宽市场的销售渠道;其次,电商企业之间、电商与供货商之间缺乏统一的数据交换标准,通常只依赖于一些技术陈旧的ERP来维持日常的运营。

电商企业通常只能通过某一平台上提供的专用工具监测某些产品的价格波动和销售情况,而无法全面、统一地了解他们所销售的产品在各大平台的具体表现如何。然而这样的需求很明显是迫切的,因为只有了解销售数据的变化才能实时调节销售的策略。我见过最多的做法就是企业安排一位专人从各大电商平台中导出运行的数据,然后合并到Excel中,再进行一番统计,手工做出各种统计报表作为分析依据,这种做法往往对某一个单品就得做一次!

其实,导致这种现象的原因有以下几点:

(1)缺乏统一的数据来源——这是不可调和的,因为电商运行的数据源本来就具有多样性。

(2)结构化数据与非结构化数据并存——企业间最常见的数据交互格式是Excel,交互工具是微信和QQ。

(3)一个数据存在多种时间版本——QQ或者微信上的同一个文件修改多了且重复传会出现各种的 data.xlsx、data(1).xlsx…data(n).xlsx。

(4)数据结构可能存在随意性——Excel文件内很少会看见用英文命名的列,甚至相同作用的列很有可能会采用不同的中文名。

(5)数据查找变得困难——在电商企业与供货商之间要找出某个时段相同的数据副本可能是一件极为可怕的事件。

我们不妨来大胆地假设一下,如果将这些事情换成让爬虫去处理,那么情况会变成什么样子呢?

(1)每天爬虫在一个固定的时间到淘宝、京东或者其他电商平台上自动下载商家当前的营业数据。

(2)完成爬取后将数据自动保存到数据库。

(3)从内网的某台PC的指定文件夹中下载每天从其他经销商发来的Excel文件,整理后保存到数据库。

(4)发现某些商品库存不足自动生成供货商规定格式的订货单,通过电子邮件发出。

(5)决策者(运营经理/老板)在手机或PC中通过数据可视化工具查看每天的数据统计结果,或者由爬虫系统直接生成统计报表发到他们的邮箱中。

此时你可能会产生这样的疑问:爬虫不是单单爬取数据的吗?为何还能处理这么多的事情呢?这还是爬虫的技术领域吗?答案是肯定的,上面这个例子是由我经历过的一个项目中的真实案例简化而来的,爬虫的这些行为融合了对爬取数据的后处理与Python自动化后得到的效果。其实爬虫能做到的事情可以更多,具体的实现与企业内部的实际需求相关。而在互联网中,它更像是一个具有“智能”的机器人。

企业内网爬虫只是互联网爬虫的一个小范围的应用,是爬虫技术与自动化技术的一种综合性应用,而且自动化技术的占比可能会比爬虫技术手段更多一些。

互联网爬虫

与企业爬虫相比,互联网爬虫就显得更为单一与常见,在这个数据唾手可得的时代,在数据中用爬虫淘金并不鲜见。如搜索引擎本身就是“虫术大师”,只要是它们想爬的网站,几乎是没有爬不穿的。App Store上最火的内容性App总是某些新闻类的聚合应用,大多数网站开发者都知道那只是一个聚合了各种新闻网站链接的综合性平台,它们的内容也是靠“放虫”才可能在各大新闻门户中获取第一手的新闻信息。更重要的是,这些新闻信息都是“免费”的,任何一个用户都可以轻易地从互联网上获取,这个用户当然也可以包括“虫子”。

互联网中存在大量如新闻资讯一类的免费内容,或是政府、企业、第三方机构、团体甚至个人共享的各种数据。例如,我们可以轻易地到气象局的网站上获取近十年某个地区的降雨量信息,或者从证券交易所获取当天各支股票的价格走势,又或者到微博上获知当天最具有传播性的某个事件的详情。换句话说,只要有清晰的目标数据源,只要你具有对数据源具有访问的权限,那么你也可以让爬虫为你代劳,一次性从数据源上获取所有你想要的数据。

要通过爬虫顺利地从互联网中爬取数据,那么就得了解这些数据的特质,然后采取针对性的手段才可能做到无往不利。一般来说,互联网中可爬取的数据可分为以下几种:

(1)一般性的网页——符合W3C规范的网页都可视为一种半结构化的内容,可以通过一些页面元素分析工具从网页中读取指定数据,由于网页开发的自由度极大,几乎没有哪个网站的结构是完全相同的。而且可变因素也很多,可能网页读取要通过权限的审查,或者网页由客户端的JavaScript进行绘制才能呈现最终效果,甚至网页可能来源于CDN,其内容未必是最新的,只是某个网络缓存的副本,等等。不过不用担心,当你完全掌握了虫术,这一切对你将不再是阻挡。

(2)API资源——API资源是最适合爬取的数据源(没有之一),因为RESTful API都是结构化数据,会以XML或者JSON的形式进行调用或者返回,这些数据内容即使没有API说明手册一般也能读懂。

(3)文件资源——文件资源属于最麻烦的数据源了,除非爬取的文件是以结构化数据格式呈现的,否则作为自由文本,由于是非结构化的,我们需要对文本的内容进行一些后处理,要让爬虫“读懂”这些文本内容,再判断哪些内容是获取的目标。

(4)媒体资源——如图片和视频等,其爬取的动作基本与文件类似,只是由于图片与视频等资源一般来说都比较大,可能还需要对文件的元信息进行一些分析以判断其是否具有爬取的价值,以避免让爬虫过多地消耗不必要的网络流量与爬取时间。

虫术技术路线图

爬虫涉及的技术领域很多,运用的技术也非常庞杂,从基本的网络访问到复杂的机器学习,可能会让初入门径者有望而却步的想法。为了让大家有一个全面的认识,我们特意将初级、中级、高级三个阶段中所要学习与使用的技术归纳成下图以作参考。

最后,想学习Python的小伙伴们!可以

进群:984632579 

领取从0到1完整学习资料 视频 源码 精品书籍 一个月经典笔记和99道练习题及答案

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容