产品经理学Python&爬虫(三):竞品数据爬取实战——在行

写在前面

如果你不会 python ,不会爬虫,甚至完全不会编程的话,建议你先去看看这个系列博客的前两章。否则就算看完了这一篇,你也不知道怎么爬取竞品的数据。

产品经理想要什么数据?

作为产品经理,我们经常要面对很多数据。比如自己产品的各种用户量、 PV、UV、DAU ···,然后根据这些数据做出相应的产品策略调整。

除了这些数据之外,我们还会想要一些其他的数据,比如——竞品的数据

有一些竞品的数据是公开的,可以通过各种途径查到,但是那些数据主要在战略层面具有意义,在一些细节上没什么参考价值。

因此,有时候,我们需要自己通过一些方法去获取一些竞品的数据。

比如爬虫。

爬虫能获取哪些竞品数据?

之前有说,我们几乎能获得一切网站或者APP上看得到的数据。

比如说:优酷所有视频的数量、总播放量、下载量;淘宝某商品的库存量、月销量;简书某专栏文章的总数量、总阅读量、总喜欢数 ···

这些都是可以通过爬虫来获取的,一旦运行代码,程序就会自动地爬取你需要的数据。

我的初级实战经历——「在行」相关数据爬取

在行是什么?

「在行」是国内领先的知识技能共享平台。从现在开始,当你遇到任何领域的问题或是个性化的服务需求,都可以径直找到“对”的人,为你答疑解惑,出谋划策,定制服务。

我正在做的项目

我现在正在跟一群志同道合的伙伴们致力于一个“校园知识共享”以及“校园人才挖掘”的项目 「CampusSay校园说」 ,你可以把它理解成“校园版 在行+知乎”。

我需要「在行」的什么数据?

在行上有业界行家帮你答疑,校园说有学姐学长帮你指路。

今年八月的时候,我需要做一个平台的勋章系统,这个系统中各勋章的等级设定、用户分布,需要按照用户整体状况的分布比例来确定。

由于我们的项目还在刚起步的阶段,用户数据还不够成熟,于是我想看看一个成熟的竞品平台上的用户数据是什么样的。所以我需要在行上所有“行家”的“交易成交数量”分布。

知道我们需要什么后,我就可以开始了。

先找到需要的数据

我需要的数据本质是每个行家的“成交数”。

首先我先找到在行的行家列表页,发现在这里有我需要的数据,其显示为“XX人见过”。所以我知道了,在这个页面里,可以爬取到我需要的数据。

查看该页面源代码

在这个页面按F12,可以查看源代码,然后通过“选择元素”来定位到我需要的数据上,这时候就能看到这个数据相关的代码了。

正则匹配

我之前的博客有介绍到如何爬取数据,这里我用的还是很“丑陋”的“正则匹配法”。(我也正在学习一些其他的爬虫框架,但最开始的时候接触一下正则还是可以的)

根据刚刚获得的源代码,我们可以写出一个相应的正则匹配公式:
<p class="topic-tutor-count.*?<span>(.*?)</span>(.*?)</p>
通过这个公式,我们可以筛选出这个页面所有的“141”这样的数据。

对于这种简单数据的爬取,只要正则写对了,其他一般不会有什么问题。

自动翻页

我需要的是在行所有行家的数据(同一地区内),而这些数据肯定不会在一个页面显示完,因此我们要在爬取完一个页面的数据后,自动爬取下一页的数据。

要实现这个需求,只要根据页面地址的命名规律,来写一段自动翻页的代码就行。

在行列表页第一页的地址是:http://www.zaih.com/topics/ ,没有看到页数有关的命名信息。
但是我们点击下一页进入第二页,就能发现地址变成了:http://www.zaih.com/topics/?page=2
那么,第N页的地址,自热就是:http://www.zaih.com/topics/?page=N

所以,我们先初始化 page = 1 ,要爬取的地址为 url = 'http://www.zaih.com/topics/?page=' + str(page)。然后每爬完一页后,让 page=page+1 就行

同理,要自动切换地区等维度的方法跟自动翻页是一样的。我们在爬虫的时候很重要的一点就是要注意观察代码和地址的规律,程序员在设定它们的时候是会按照一定规律的。只有找到了这些规律,我们才能顺着找到自己需要的东西

数据获取后的分析

通过上面的方法,我们可以获得在行上所有“行家”的“交易次数”。那么有了所有行家的数据,我们就可以来分析这些数据了。

我想知道,超过 “1人见过”的行家、“5人见过”的行家···“100人见过”的行家占行家总数的百分比···以及诸如此类的数据分布情况。

那么这个实现原理就很简单了,数量达到标准,相关数据“+1”就行。我们在爬取的过程中就可以用代码来实现。这个属于最基础的编程技术,在这里就不再赘述了。

爬取结果

我把爬取的结果保存在记事本里,当然,如果要用到复杂的数据分析时,也可以直接通过 python 代码将其保存带 excel 里,并且直接进行相关数据分析的操作。或者直接用 python 的相关函数来处理数据,也OK

前面的数字就是爬取到的所有数据,后面的则是我根据这些数据得到的数据分布情况。

我爬取到了在行北京地区所有显示出来的行家数据,有近2000个。如果我们要人工去爬取这些数据的话,需要耗费很多的时间,而且容易出错。相对来说,用代码来实现,会快捷且精准很多。

同理,你也可以用一样的方法来爬取行家的评分、价格等数据,只要稍微修改一下正则就行。

亲身经历告诉你用计算机(代码)来处理数据的好处

在我刚刚接手要做勋章系统这个任务的时候,我是不会 python 和爬虫的,因此我只能人工去爬这些数据,只爬了500+就受不了了。

后来学会了爬虫后,发现500+的数据跟2000+的所反映出来的情况还是差别很大的,数据量越大的会越接近真实情况(实际上爬虫已经爬到了可以获取到的所有数据)

PS.图片里爬虫爬取的数据跟我在前面【爬取结果】里贴出来的数据有一点不一样,是因为爬取的时间不一样,中间相隔了两个月。

写在后面

看到这里,可能你觉得你依旧写不出一个这样的爬虫。因为我并没有把每一步的代码都贴出来,我在最后也不准备把所有代码都贴出来。

因为我并不准备写一个 python 爬虫的教程博客,而是一个产品经理利用这些技术来改进工作的经历分享博客。

我在这个系列博客的前两章里贴出了我学习用的其他大牛的教学博客,我觉得我也写不出比他们更好的教学博客。因此我只想跟大家分享一下我在做产品相关工作的时候,利用这项技术来改进工作的想法和思路。

无论你是不是一个产品经理,我都希望可以挤出一点时间,找一门计算机相关的技术来学习一下。相信我,利用计算机技术(包括但不限于编程),我们可以很好地改善我们的学习、工作和生活。

同时,我们还会发现很多美好的事情。

系列目录:
产品经理学Python&爬虫(一):为什么我要学Python
产品经理学Python&爬虫(二):Python基础及爬虫入门

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

推荐阅读更多精彩内容

  • 爬虫文章 in 简书程序员专题: like:128-Python 爬取落网音乐 like:127-【图文详解】py...
    喜欢吃栗子阅读 21,737评论 4 412
  • 1 前言 作为一名合格的数据分析师,其完整的技术知识体系必须贯穿数据获取、数据存储、数据提取、数据分析、数据挖掘、...
    whenif阅读 18,051评论 45 523
  • 你会不会觉得你离开的时候正是我最需要你的时候? 每当我又幻想着和你重逢的种种可能时都会想你来找我然后说着你还...
    寂静里安然阅读 281评论 0 0
  • 有人曾经问我,生命的意义是什么? 我没有回答。 因为,我没有办法回答。因为,我也不知道。 生命的意义到底是什么呢,...
    九里归一阅读 667评论 2 6
  • Python是一门简单易学的高级程序语言,如果你知道一个叫做TIOBE的编程语言榜单,你大概会知道在近些年的计算机...
    iLester阅读 430评论 0 16