小编说:网络爬虫是一种伴随着互联网诞生与演化的"古老”的网络技术,随着互联网进入大数据时代,爬虫技术迎来了一波新的振兴浪潮。 本文通过企业内部与互联网两个场景向大家讲书爬虫发挥了哪些重要作用。本文选自《虫术——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)每天爬虫在一个固定的时间到淘宝、京东或者其他电商平台上自动下载商家当前的营业数据。
(3)从内网的某台PC的指定文件夹中下载每天从其他经销商发来的Excel文件,整理后保存到数据库。
(4)发现某些商品库存不足自动生成供货商规定格式的订货单,通过电子邮件发出。
(5)决策者(运营经理/老板)在手机或PC中通过数据可视化工具查看每天的数据统计结果,或者由爬虫系统直接生成统计报表发到他们的邮箱中。
此时你可能会产生这样的疑问:爬虫不是单单爬取数据的吗?为何还能处理这么多的事情呢?这还是爬虫的技术领域吗?答案是肯定的,上面这个例子是由我经历过的一个项目中的真实案例简化而来的,爬虫的这些行为融合了对爬取数据的后处理与Python自动化后得到的效果。其实爬虫能做到的事情可以更多,具体的实现与企业内部的实际需求相关。而在互联网中,它更像是一个具有"智能”的机器人。
企业内网爬虫只是互联网爬虫的一个小范围的应用,是爬虫技术与自动化技术的一种综合性应用,而且自动化技术的占比可能会比爬虫技术手段更多一些。
与企业爬虫相比,互联网爬虫就显得更为单一与常见,在这个数据唾手可得的时代,在数据中用爬虫淘金并不鲜见。如搜索引擎本身就是"虫术大师”,只要是它们想爬的网站,几乎是没有爬不穿的。App Store上最火的内容性App总是某些新闻类的聚合应用,大多数网站开发者都知道那只是一个聚合了各种新闻网站链接的综合性平台,它们的内容也是靠"放虫”才可能在各大新闻门户中获取第一手的新闻信息。更重要的是,这些新闻信息都是"免费”的,任何一个用户都可以轻易地从互联网上获取,这个用户当然也可以包括"虫子”。
互联网中存在大量如新闻资讯一类的免费内容,或是政府、企业、第三方机构、团体甚至个人共享的各种数据。例如,我们可以轻易地到气象局的网站上获取近十年某个地区的降雨量信息,或者从证券交易所获取当天各支股票的价格走势,又或者到微博上获知当天最具有传播性的某个事件的详情。换句话说,只要有清晰的目标数据源,只要你具有对数据源具有访问的权限,那么你也可以让爬虫为你代劳,一次性从数据源上获取所有你想要的数据。
要通过爬虫顺利地从互联网中爬取数据,那么就得了解这些数据的特质,然后采取针对性的手段才可能做到无往不利。一般来说,互联网中可爬取的数据可分为以下几种:
(1)一般性的网页——符合W3C规范的网页都可视为一种半结构化的内容,可以通过一些页面元素分析工具从网页中读取指定数据,由于网页开发的自由度极大,几乎没有哪个网站的结构是完全相同的。而且可变因素也很多,可能网页读取要通过权限的审查,或者网页由客户端的JavaScript进行绘制才能呈现最终效果,甚至网页可能来源于CDN,其内容未必是最新的,只是某个网络缓存的副本,等等。不过不用担心,当你完全掌握了虫术,这一切对你将不再是阻挡。
(2)API资源——API资源是最适合爬取的数据源(没有之一),因为RESTful API都是结构化数据,会以XML或者JSON的形式进行调用或者返回,这些数据内容即使没有API说明手册一般也能读懂。
(3)文件资源——文件资源属于最麻烦的数据源了,除非爬取的文件是以结构化数据格式呈现的,否则作为自由文本,由于是非结构化的,我们需要对文本的内容进行一些后处理,要让爬虫"读懂”这些文本内容,再判断哪些内容是获取的目标。
(4)媒体资源——如图片和视频等,其爬取的动作基本与文件类似,只是由于图片与视频等资源一般来说都比较大,可能还需要对文件的元信息进行一些分析以判断其是否具有爬取的价值,以避免让爬虫过多地消耗不必要的网络流量与爬取时间。
爬虫涉及的技术领域很多,运用的技术也非常庞杂,从基本的网络访问到复杂的机器学习,可能会让初入门径者有望而却步的想法。为了让大家有一个全面的认识,我们特意将初级、中级、高级三个阶段中所要学习与使用的技术归纳成下图以作参考。
互联网最激烈的对抗战场,除了安全专家与黑客之间,大概就是爬虫与反爬虫领域了。据统计,爬虫流量早已超过了人类真实访问请求流量。互联网充斥着形形色色的爬虫,云上、传统行业都有不同规模的用户被爬虫爱好者盯上,这些爬虫从哪里来?爬取了谁的数据?数据将被用于何处? 近日,腾讯云发布2...
演讲|钱致远(星辰资本合伙人)笔记|笔记侠 雷波Raybo编辑|笔记侠 Even欢迎投稿到硅谷堂,投稿联系硅谷君:zs981436532 人物名片:迂回式创新创始人,星辰资本合伙人,互联网+创新导师,被誉为最接地气的实战派创业导师,迂回式创新和精益创业的实战方法论专家。擅长...
(本文发在托比网题为:从B2B发展看物流仓储互联网化的重要性-托比网 "二十一世纪,要么电子商务,要么无商可务!”十多年前比尔·盖茨如是说。今天,虽然已经很难考证盖茨当时所谓的"电子商务(E-Business)”其内涵到底指的是什么,但却几乎可以肯定的是,...
有人因为一个人而爱上一座城,而我却偏偏因为一本书爱上一座城,这样的体验不知大家有没有过?这本书名为《消失的地平线》,里面描述了香格里拉极致理想的生活状态。很想知道这个故事的真实性究竟有多少,现实中的香格里拉又到底是什么样子的。带着这样的疑惑,暗暗下定决心,一定要去走一趟! ...
入营14天、任务14项、两节理论课,收获两位队友,撰写英文介绍一篇,在简书发布第一篇文章。 1行动 总体感受,在训练营训练到现在的首要感觉就是行动起来,学会任务拆分,"有意识”练习的时间付出很重要。在以前从来就么有这么认真写过自己的个人介绍,更别说用英语了。行动...
这天下午,由于心情郁闷,不想做事,我便骑车出去散心。那绿色的麦浪,那蜿蜒的小路上,连吹过耳边的风也都蔫头耷脑地没精神。我停下车,踱步到小河边,站在树荫下,看着开的发亮的油菜花,于是便拿起手机拍照。突然从身后传来了一阵欢快的口哨声和"汪汪汪”的狗叫声。我扭过头想一瞧究竟,于是...
哈哈哈,你出差还是不要带上我了!不好不好!好好工作,攒钱买房哈哈!我最近没有胡思乱想了耶!真好!没啥,现在老板出差。这些天轻松的很!也不轻松吧!反正就是舒服些!现在很爱吃薯片不知道咋回事!不喜欢这个爱好!以前都不喜欢吃零食的!⊙?⊙!想你了喔!反正也是感觉很久没见你了!连馒...
输入这个标题的时,我心惊胆战害怕浪费了这么暖心的标题,一提及"梦想”二字,及熟悉又陌生,小学初中有关梦想的作文,好的坏的线篇,而此刻再次提及时,真的陌生多于熟悉 但对于我从小到大的闺蜜来说,梦想于她而言,清楚明了, 自初中到现在一直执著于她的梦想, ...
本文来自: 老铁博客,转载请保留出处!欢迎发表您的评论
相关标签:爬虫技术