当然有了!
爬虫几乎只要有网络模块的语言都能写,其中的佼佼者就是Python,而Python有非常多的第三方库支持,如果需要爬取js生成的页面(比如单页应用),就需要一些模拟浏览器的库了。
Selenium 是一个项目的名称,包含了很多工具和api和一些自动化测试工具,能模拟浏览器的运行和操作,也有人拿他用来当做爬虫工具,因此也是很方便的
Webdriver 是Selenium里的一个支持浏览器自动化的工具。它包括一组为不同语言提供的类库和“驱动”(drivers)可以使浏览器上的动作自动化。
WebDriver 还为很多语言提供类库:Java,C#,Ruby,JavaScript,Python,PHP,Perl和一些其他语言。这样方便的便利,不需要去学习WebDriver独有的脚本语言,使用WebDriver就像在自己项目中使用一个第三方库一样。
PhantomJS 不需要GUI,可以直接命令行中进行处理,内核是WebKit引擎,非常适合爬虫使用.
介绍完了先安装:
pip install seleniumPhantomJS的下载需要去官网:http://phantomjs.org/download.html就要开始写代码了:
from selenium import webdriver
browser = webdriver.PhantomJS()
url = 'https://www.toutiao.com'
browser.get(url)
browser.implicitly_wait(2) # 等待2秒让js直行完成
剩下的就需要你自己根据需求来编写代码了,还有selenium的中文文档在这里:https://selenium-python-zh.readthedocs.io/en/latest/
亮独观其大略
《魏略》记载,诸葛亮在荆州,与石广元、徐元直、孟公威俱游学,“三人务于精熟,而亮独观其大略。”简简单单的一句话,其实正是在学习方法上,诸葛亮比其他人的高明所在。那回到编程语言,什么又是编程语言的“大略”呢?我个人觉得,其核心就是:
了解清楚这个语言“当前”的应用生态
一门语言能不能用在很多不同的领域?除了极少数专有化语言外,很多语言都可堪此任。
但“能不能用在”,和“是不是已经用在”,却是两个截然不同的问题。比如说,能不能用C++来写机器学习中所需要用的各种程序(脚本)?答案当然是可以的,但业界是不是在大面积的用?情况并不乐观,Python仍然是这个领域的“第一语言”。为什么?这其实就是一个生态的问题。在Python下,机器学习所需要的各种类库,成熟而完整,因此,无论是学习者,还是应用者,可以快速的进入到状态,并完成手头的工作。甚至于,因为Python2所构建的这个生态太成熟了,从而导致了整个业界,从Python2切换到Python3的过程,痛苦而又漫长。所以,作为一个初学者,在学习的一开始,就去“打听”一下(事实上,我觉得老师的作用,也应该在这里),你所要学习的这门语言,现在一般都拿来干什么,并且是不是和你想学习的方向(哪怕只有一个模糊的概念),在目标上高度契合,我觉得是最紧要和事半功倍的事情了,能为你的后期学习,节约太多的时间,从而少走很多的弯路。工欲善其事,必先利其器
人类似乎总是很欣赏那些在公众中,表演用记事本,在没有任何代码提示情况下,“手写”代码的大神。
其实要实现这些并不难,万事无他,唯手熟尔!哪怕你要用的那个函数,参变量再多,你这天天写,总有熟到可以信手拈来的地步。但向观众,尤其是初学者表演,甚至是传达这样的理念,我觉得就是一种“罪恶”。恰恰相反,我觉得,作为一个经验丰富的老手,我们最应该向初学者推荐的,应该是一款经过精心调教的“工具”。还是以Python和数据分析的学习为例,怎样开始学习最好?上手就开始来学怎样撸代码?如果你问我,那我一定会告诉你:> 先去装个Anaconda再说为什么?
省时省心啊
从此,近千个数据科学相关的开源包,你再也不用担心你应该去哪里找到他们,并且是不是和你现在用的版本会有冲突,等等等等这样一些听上去很琐碎,但绝对会浪费你大量时间的事情了,而是能专注于学习。
因为一切都已经在那里了!
实际上,在真正的软件生产过程中,可以说绝大多数的开发,都是严重依赖于工具的,你想想,为什么类似Docker这样的工具会盛行?抛开在虚拟化等方面的具体技术不谈,这东西对于开发和运维人员而言,一个巨大的好处,其实不就在于它的:几乎零配置么?
我要搭一个LAMP的Web的开发环境,我不需要自己劳心费力的去一个个的装Apache + MySQL + PHP,还不能保证能不能装上,一个image即可。编程学习也一样,尤其是针对初学者而言,不要因为看到“大神”们,都是手写代码,就觉得:把时间分配在掌握一个好的IDE工具上,是在浪费时间!
实际上,这反而是能够让你学的更快的利器!
这里有一个小小的推荐,就是Visual Studio Code,微软的这款产品,经过这几年的大力发展,其扩展的丰富程度,真心足堪大任了,如果不是很特别的语言需求,基本上都可以在其应用商店中,找到对应的开发扩展。最后才是语言学习本身,但只40%
在充分了解了所需要学习的语言本身,现在主要拿来干什么,并且也用上了“高大上”的工具以后,整个学习的旅程,就算可以正式开始了。
这里,有一个小小的建议,叫“只40%”。我觉得,这是所有高效学习的关键所在!
什么意思?
举一个例子,比如在很多语言中,提供了各种各样的处理字符串的方法(或函数),以Python为例,哪怕比如就是一个简简单单的,从“Hello World!”中,截取相应的子字符串,也有很多的技巧,比如:林林总总,好吧,作为初学者,面对这些东西怎么办?我就看到有很多的“大部头”的号称面向初学者的书,会洋洋洒洒的为此大书特书一番,好像,不把所有的可能性穷尽,初学者不算学完一样。
但在我看来,这恰恰是最“糟糕”的一种写法和学法了。两个字:
没用!因为有习惯和遗忘曲线的存在。
所以,即便是你当时花了大把的时间,去学习了这种种的技巧,今后,随着你自己编程风格的形成,你还是会逐步趋向于用一种固定的方式,去处理问题,当然,我不是说这个例子,毕竟它太简单了,简单到这么多风格,完全可以让人接受 :),但我也不是没有看到过,就是有人愿意在他/她的代码的某个地方,先声明一个类似这样的函数:
为什么他/她要这么做?这不等于是为开发增加了一种“方言”么?其实无他,就是因为这可能是他/她在另外的语言环境(比如JavaScript)下,已经用熟了的一种方式而已,这是人的天性使然。
这也就提醒初学者,当你在学习一门计算机语言的过程中,下面的两个“经验”,可能能帮助到你,更为高效的进行学习,那就是:
1. 克制自己,不要试图去了解这门语言的全部,只学自己当前需要和能明白的
比如说,你就是准备用Ren'Py做一个可视小说的游戏出来,里面只是需要一点点的Python知识,那你也捧一本大部头,然后费劲吧啦的去看那些你根本用不上的函数的用法,并试图去“深入”的理解OOP和函数式,这两种不同的范式,在Python下的实现(这可能是很多教程非常引以为傲的“高级”货),何苦来哉?
等你这一切都完成,人家可能早就做出来了好几个游戏了,并且竟然发现:语法要求从来可能就没超过大部分Python教程顶多第三章的要求(一般的教程,到第三章,从最基本的变量定义,到函数应用等等,一般都会写完了)。
当然,我这样讲,不是在鼓吹说,深入系统的学习不重要,但我能保证,那绝不高效!
2. 在一开始,就要培养形成在线查阅文档的能力
我们已经处在了网络高度发达的时代,这是一个没有办法改变的事实!这个时代,最鲜明的特点之一是什么?我觉得就是:
知识开始也一定会经常以索引的形式存在!
当然,你也可以说成是人类的整体记忆能力在退化,但我个人不这样认为,实际上,索引式的好处,反而是人类可以记住更多东西了。
回到编程的学习,最高效的方式也应该是这样,学习的目标,应该从“完全记住”,转变为在脑子里大概留个印象,然后可以在遇到问题时,能快速的根据这个印象,通过在线的文档查找,迅速定位到问题的清晰的解决方案。
40%,足矣~
最后借此风水宝地,插播一个小广告,本人正在准备着进行编程教育自媒体方面的创业中,当前主要的想法,是针对K12年龄阶段,并主要和初等数学和物理,以及主流的一些算法等结合在一起,提供难易程度不同的,各种或好玩、或实用的编程教程和培训,同时,也会逐步的开讲一些整个计算机和软件发展历程中的故事,以及我自己的一些小小的思考,欢迎大家多多关注哈。发现大家对python了解不是特别多,因此总结了python的5大用处,帮助你python学习之后,能正确选择方向。
1、Web开发
提到web开发,大家脑海中闪现的一定是当前主流的开发语言Java,但你可能想不到的是python也可以做web开发,他由于开发迅速、部署飞快,变更起容易,代码量小深受开发者的喜爱,并且还有强大的框架来进行web开发。最经典的Django、Flask、Tornado,使程序员快速开发复杂的代码和应用,开发高质量的web程序。我们的金主知乎、豆瓣、Google、YouTube等企业均将python作为主要的开发语言,怎么样强大吧!!!
2、自动化运维
随着公司的发展、业务需求的持续并快速地增长,往往一个运维工程师通常要管理成百上千台服务器,运维工作变得重复、繁杂。那么将运维工作自动化,把运维工程师从服务器的管理中解放出来,让运维工作变得简单、快速、准确,这是使用python来做的持续高效的事,那么为什么选择Python呢,一来,大部分的开源运维工具都是由纯Python编写的,如Celery、ansible、Paramiko、airflow等,二来,Python与其他语言相比,更加优雅、明确和简单。
3、数据分析/可视化
作为数据分析的一大利器--Python,除了自身语言简洁高效易上手的优点,还有许多强大的功能。
支持非常多的库用于分析需求:Pandas:一个强大的分析结构化数据的工具集,基础是 Numpy(提供高性能的矩阵运算);可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据;可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy 是一个运行速度非常快的数学库,主要用于数组计算,包含:一个强大的N维数组对象 ndarray;广播功能函数;整合 C/C++/Fortran 代码的工具;线性代数、傅里叶变换、随机数生成等功能。Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的方法 MatLab 开源替代方案。 它也可以和图形工具包一起使用,如 PyQt 和 wxPython。
4、网络爬虫
浏览网页时,发现好多对我们有用的数据,但怎样从互联网上抓取对于我们有价值的信息呢,这个时候我们需要一款利器—python,比如:豆瓣的推荐电影列表、社区留言、音乐软件评论等
5、机器学习
机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,并用于预测或者分类,更具体地说,机器学习可以看作是寻找一个函数,输入是样本数据,输出是期望的结果,只是这个函数过于复杂,以至于不太方便形式化表达,机器学习的算法包括神经网络、深度学习、支持向量机及随机森林,基本道理和上述相似,应用场景很多:例如推荐系统、人脸识别及语音识别等。
对于机器学习库和Python框架,scikit-learn和TensorFlow算是两个比较热门的。下面是scikit-learn中文学习网站,大家可以访问学习
这是一份数据分析师的入门指南,它包含七周的内容,Excel、数据可视化、数据分析思维、数据库、统计学、业务、以及Python。
每一周的内容,都有两到三篇文章细致讲解,帮助新人们快速掌握。这七周的内容刚好涵盖了一位数据分析师需要掌握的基础体系,也是一位新人从零迈入数据大门的知识手册。
第一周:Excel
每一位数据分析师都脱离不开Excel。
它是日常工作中最常用的工具,如果不考虑性能和数据量,它可以应付绝大部分分析工作。虽然现在机器学习满地走,Excel依旧是无可争议的第一工具。
Excel的学习分为两个部分。
掌握各类功能强大的函数,函数是一种负责输入和输出的神秘盒子。把各类数据输入,经过计算和转换输出我们想要的结果。
在SQL,Python以及R中,函数依旧是主角。掌握Excel的函数有助于后续的学习,因为你几乎在编程中能找到名字一样或者相近的函数。
在「数据分析:常见的Excel函数全部涵盖在这里了」中,介绍了常用的Excel函数。
清洗处理类:trim、concatenate、replace、substitute、left/right/mid、len/lenb、find、search、text
关联匹配类:lookup、vlookup、index、match、row、column、offset
逻辑运算类:if、and、or、is系列
计算统计类:sum/sumif/sumifs、sumproduct、count/countif/countifs、max、min、rank、rand/randbetween、averagea、quartile、stdev、substotal、int/round
时间序列类:year、month、weekday、weeknum、day、date、now、today、datedif
搜索能力是掌握Excel的不二窍门,工作中的任何问题都是可以找到答案。
第二部分是Excel中的工具。
在「数据分析:Excel技巧大揭秘」教程,介绍了Excel最具性价比的几个技巧。包括数据透视表、格式转换、数组、条件格式、自定义下拉菜单等。正是这些工具,才让Excel在分析领域经久不衰。
在大数据量的处理上,微软提供了Power系列,它和Excel嵌套,能应付百万级别的数据处理,弥补了Excel的不足。
Excel需要反复练习,实战教程「数据分析:手把手教你Excel实战」,它通过网络上抓取的数据分析师薪资数据作为练习,总结各类函数的使用。
除了上述要点,下面是附加的知识点,铺平数据分析师以后的道路。
了解单元格格式,数据分析师会和各种数据类型打交道,包括各类timestamp,date,string,int,bigint,char,factor,float等。
了解数组,以及相关应用(excel的数组挺难用),Python和R也会涉及到 list,是核心概念之一。
了解函数,深入理解各种参数的作用。它会在学习Python中帮助到你。
了解中文编码,UTF8、GBK、ASCII,这是数据分析师的坑点之一。
第二周:数据可视化
数据分析界有一句经典名言,字不如表,表不如图。
数据可视化是分析的常用技巧之一,不少数据分析师的工作就是通过图表观察和监控数据。首先了解常用的图表:
Excel的图表可以100%绘制上面的图形,但这只是基础。
在「数据可视化:你想知道的经典图表全在这」中介绍了各类数据分析的经典图表,除了趋势图、直方图,还包括桑基图、空间图、热力图等额外的类型。
数据可视化不是图表的美化,而是呈现数据的逻辑之美,是揭示数据的内在关联。了解图表的维度和适用场景,比好看更重要。比如桑吉图就是我一直推崇的图表,它并不知名,但是它能清晰的揭露数据内在状态的变化和流向。案例是用户活跃状态的趋势。
Excel的图表操作很傻瓜化,其依旧能打造出一份功能强大的可视化报表。「数据可视化:教你打造升职加薪的报表」教给大家常用的Excel绘图技巧,包括配色选取,无用元素的剔除、辅助线的设立、复合图表等方法。
Excel图表的创造力是由人决定的,对数据的理解,观察和认知,以及对可视化的应用,这是一条很长的道路。
图表是单一的,当面板上绘制了多张图表,并且互相间有关联,我们常称之为Dashboard仪表盘。
上图就是用分析师薪资数据为数据源绘制的Dashboard,比单元格直观不少。我们常常把绘制这类Dashboard的工具叫做BI。
BI(商业智能)主要有两种用途。一种是利用BI制作自动化报表,数据类工作每天都会接触大量数据,并且需要整理汇总,这是一块很大的工作量。这部分工作完全可以交给BI自动化完成,从数据规整、建模到下载。
另外一种是使用其可视化功能进行分析,它提供比Excel更丰富的交互功能,操作简单,而且美观,如果大家每天作图需要两小时,BI能缩短大半。
在「数据可视化:手把手打造BI」教程中,以微软的PowerBI举例,教大家如何读取数据,规整和清洗数据,绘制图表以及建立Dashboard。最后的成果就是上文列举的分析师案例。
BI还有几个核心概念,包括OLAP,数据的联动,钻取,切片等,都是多维分析的技巧,也是分析的核心方法之一。
后续的进阶可视化,将和编程配合。因为编程能够提供更高效率和灵活的应用。而BI也是技术方向的工具,了解技术知识对应用大有帮助。
第三周:数据分析思维数据分析能力的高低,不以工具和技巧决定,而以分析思维决定。
在一场战争中,士兵装备再好的武装,进行再严苛的训练,若是冲锋的方向错了,那么迎接他们的唯有一败涂地。
分析思维决定一场「数据战争」中的冲锋方向。只有先养成正确的分析思维,才能使用好数据。
既然是思维,它就倾向于思考的方式,Excel函数学会了就是学会,分析则不同。大多数人的思维方式都依赖于生活和经验做出直觉性的判断,以「我觉得我认为」展开,好的数据分析首先要有结构化的思维。
麦肯锡是其中领域的佼佼者,创建了一系列分析框架和思维工具。最典型地莫过于金字塔思维。
这篇文章简述了该思维的应用,「快速掌握麦肯锡的分析思维」。你能学会结构化思考,MECE原则,假设先行,关键驱动等方法论。
除此以外,还有SMART、5W2H、SWOT、4P4C、六顶思考帽等,这些都是不同领域的框架。框架的经典在于,短时间内指导新人如何去思考,它未必是最好的,但一定是性价比最优的。数据分析思维,是分析思维的引申应用。再优秀的思考方式,都需要佐证和证明,数据就是派这个用处的,「不是我觉得,而是数据证明」。
现代管理学之父彼得·德鲁克说过一句很经典的话:如果你不能衡量它,那么你就不能有效增长它。如果把它应用在数据领域,就是:如果你不能用指标描述业务,那么你就无法有效增长它。每一位数据分析师都要有指标体系的概念,报表也好,BI也好,即使机器学习,也是围绕指标体系建立的。
下图就是一个典型的指标体系,描述了用户从关注产品、下载、乃至最后离开的整个环节。每一个环节,都有数据及指标以查询监控。
不同业务背景需要的指标体系不同,但有几个建立指标的通用准则。这篇文章深入介绍了「如何建立数据分析的思维框架」。你将区分什么是好指标、什么是坏指标、比率和比例、指标的结构、指标设立的维度等概念。
数据分析不是一个结果,而是一个过程。几乎所有的分析,最终目的都是增长业务。所以比分析思维更重要的是驱动思维落地,把它转化为成果。
数据分析思维是常年累月养成的习惯,一周时间很难训练出来,但这里有一个缩短时间的日常习惯。以生活中的问题出发做练习。
这家商场的人流量是多少?怎么预估?
上海地区的共享单车投放量是多少?怎么预估?
街边口的水果店,每天的销量和利润是多少?怎么预估?
这些开放性问题起源于咨询公司的训练方法,通过不断地练习,肯定能有效提高分析思维。另外就是刷各种CaseBook。
优秀的数据分析师会拷问别人的数据,而他本身的分析也经得起拷问。
第四周:数据库
Excel很容易遇到瓶颈,随着业务的发展,分析师接触的数据会越来越多。对大部分人的电脑,超过十万条数据,已经会影响性能。何况大数据时代就是不缺数据,这时候就需要学习数据库了。
即使非数据岗位,也有越来越多的产品和运营被要求使用SQL。
很多数据分析师戏称自己是跑SQL的,这间接说明SQL在数据分析中有多核心。从Excel到SQL绝对是处理效率的一大进步。
教程内容以MySQL为主,这是互联网行业的通用标准。其实语法差异不大的。
新手首先应该了解表的概念,表和Excel中的sheet类似。「写给新人的数据库指南」是一篇入门基础文章,包括表、ID索引、以及数据库的安装,数据导入等简单知识。
SQL的应用场景,均是围绕select展开。增删改、约束、索引、数据库范式均可以跳过。新手在「SQL,从入门到熟练」教程会学习到最常见的几个语法,select、where、group by、if、count/sum、having、order by、子查询以及各种常用函数。
数据还是分析师薪资数据,它可以和Excel实战篇结合看,不少原理都是相通的。
想要快速掌握,无非是大量的练习。大家可以在leetcode上做SQL相关的练习题,难度从简单到困难都有。「SQL,从熟练到掌握」教程中将会带领大家去刷一遍。
join对新手是一个很绕的概念,教程会从图例讲解,逐步提高难度。从一开始的join关联,到条件关联、空值匹配关联、子查询关联等。最后完成leetcode中的hard模式。
如果想要更进一步,可以学习row_number,substr,convert,contact等函数。不同数据平台的函数会有差异,例如Presto和phpMyAdmin。再想提高,就去了解Explain优化,了解SQL的工作原理,了解数据类型,了解IO。知道为什么union比or的效率快,这已经和不少程序员并驾齐驱。
第五周:统计学
很多数据分析师并不注重统计学基础。
比如产品的AB测试,如果相关人员不清楚置信度的含义和概念,那么好的效果能意味着好么?如果看待显著性?
比如运营一次活动,若不了解描述统计相关的概念,那么如何判别活动在数据上的效果?可别用平均数。
不了解统计学的数据分析师,往往是一个粗糙的分析师。如果你想要往机器学习发展,那么统计学更是需要掌握的基础。
统计知识会教大家以另一个角度看待数据。如果大家了解过《统计数据会撒谎》,那么就知道很多数据分析的决策并不牢靠。
在第一篇教程「解锁数据分析的正确姿势:描述统计」,会教给大家描述统计中的诸多变量,比如平均数、中位数、众数、分位数、标准差、方差。这些统计标准会让新手分析师从平均数这个不靠谱的泥潭中出来。
箱线图就是描述统计的大成者,好的分析师一定是惯用箱线图的常客。
第二篇「解锁数据分析的正确姿势:描述统计(2)」将会结合可视化,对数据的分布进行一个直观的概念讲解。很多特定的模型都有自有的数据分布图,掌握这些分布图对分析的益处不可同日而语。
直方图和箱线图一样,将会是长久伴随分析师的利器。
统计学的一大主要分支是概率论,概率是度量一件事发生的可能性,它是介于0到1之间的数值。很多事情,都可以用概率论解释,「概率论的入门指南」和「读了本文,你就懂了概率分布」都是对其的讲解。
包括贝叶斯公式、二项概率、泊松概率、正态分布等理论。理论不应用现实,那是无根之木,教程中会以运营活动最常见的抽奖概率为讲解,告诉大家怎么玩。
其实数据分析中,概率应用最广泛和最全面的知识点,就是假设检验,大名鼎鼎的AB测试就是基于它的。俗话说得好,再优秀的产品经理也跑不过一半AB测试。
何为假设检验?假设检验是对预设条件的估计,通过样本数据对假设的真伪进行判断。
产品改版了,用户究竟喜不喜欢?调研的评分下降了,这是用户的评价降低了,还是正常的数据波动呢?这些都是可以做假设检验的。它可以说是两面两篇文章的回顾和应用。
「数据分析必须懂的假设检验」依旧以互联网场景讲解各种统计技巧的应用。假设检验并不难,通过Excel的几个函数就能完成。它的难点在于诸多知识点和业务的结合使用,实际公式不需要掌握的多透彻,了解背后的意义更重要。
统计学是一个很广阔的领域,包括方差分析,时间序列等,都有各自不同的应用。大家若感兴趣,可以去阅读各类教材,没错,教材是学习统计学最优的方式。我这类文章堪堪算入门罢了。
第六周:业务
对于数据分析师来说,业务的了解比数据方法论更重要。举个例子,一家O2O配送公司发现在重庆地区,外卖员的送货效率低于其他城市,导致用户的好评率降低。总部的数据分析师建立了各个指标去分析原因,都没有找出来问题。后来在访谈中发觉,因为重庆是山城,路面高低落差比较夸张,很多外卖人员的小电瓶上不了坡…所以导致送货效率慢。这个案例中,我们只知道送货员的送货水平距离,根本不知道垂直距离。这是数据的局限,也是只会看数据的分析师和接地气分析师的最大差异。业务形态千千万万,数据分析师往往难窥一二。我的公众号业务部分也涉及了不少,大家可以通过这几篇文章了解。
一篇文章读懂活跃数据;深入浅出,用户生命周期的运营;获取新增用户,运营都应该知道的事;运营的商业逻辑:CAC和CLV;从零开始,构建数据化运营体系;读懂用户运营体系:用户分层和分群,这些都是互联网运营相关的内容,或多或少涉及了不少业务方面的概念,数据分析人员可以选择性的挑选部分内容。了解业务的数据分析师在职场发展上会更加顺利。
而在「最用心的运营数据指标解读」中,我尝试总结了几个泛互联网领域的指标和业务模型,它们都是通用的框架。
产品运营模型:以移动端APP为主体,围绕AARRR准则搭建起数据框架。包括Acquisition用户获取、Activation用户活跃、Retention用户留存、Revenue营收、Refer传播,以及细分指标。
市场营销模型:以传统的市场营销方法论为基底,围绕用户的生命周期建立框架。包括用户生命周期,生命周期价值、用户忠诚指数、用户流失指数、用户RFM价值等。
流量模型:从早期的网站分析发展而来,以互联网的流量为核心。包括浏览量曝光率、病毒传播周期、用户分享率、停留时间、退出率跳出率等。
电商和消费模型:以商品的交易、零售、购买搭建而起。包括GMV、客单价、复购率、回购率、退货率、购物篮大小、进销存,也包含SKU、SPU等商品概念。
用户行为模型:通过用户在产品功能上的使用,获得精细的人群维度,以此作为分析模型。包括用户偏好、用户兴趣、用户响应率、用户画像、用户分层,还包含点赞评论浏览收藏等功能的相关指标。
除了上述的几个常见模型,数据分析还有其他分支。比如SEO/SEM,虽然可以归类到流量模型,但它并不简单。比如财务分析,商业的各种成本支出也需要专人负责。
在业务知识外,业务层面的沟通也很重要。业务线足够长的时候,沟通往往成为老大难的问题。
业务学习没有捷径,哪怕掌握了诸多模型,不同行业间的业务壁垒会是分析师们的门槛。金融的各类专有领域知识,电子商务不同产品的特性,这些都会影响到分析报告的质量。
在早期,新人最好选择一到两个领域深入了解其业务,然后以此拓展边界。
第七周:Python/R
第七周是最后的学习环节。
是否具备编程能力,是初级数据分析和高级数据分析的风水岭。数据挖掘、BI、爬虫、可视化报表都需要用到编程。掌握一门优秀的编程语言,可以让数据分析师升职加薪,迎娶白富美。数据分析领域最热门的两大语言是R和Python。R的优点是统计学家编写的,缺点也是统计学家编写。涉及各类统计函数和工具的调用,R无疑有优势。但是大数据量的处理力有不逮,学习曲线比较陡峭。
Python则是万能的胶水语言,适用性强,可以将分析的过程脚本化。Pandas、Numpy、SKLearn等包也是非常丰富。
这里的教程以Python为主。
「开始Python的新手教程」将会教大家搭建数据分析环境,Anaconda是功能强大的数据科学工具。Python建议安装Python3+版本,不要选择Python2了。
Python的语法相当简洁,大家print出第一个hello world顶多半小时。就像在Excel上进行运算一样方便。
「开始Python的数据结构」介绍给大家Python的三类数据结构,列表list,元组tuple,以及字典dict。万变不离其宗,掌握这三种数据结构以及相对应的函数,足够应付80%的分析场景。函数式编程为Python一大特色,Python自身就提供不少丰富的函数。很多都和Excel的函数相通,掌握起来非常迅速。另外还有控制流,for、while、if,通常配合函数组合使用。
「了解和掌握Python的函数」教大家如何自定义函数,丰富的函数虽然能偷懒,但是不少场景下,还是需要自己动手撸一个。
能够调第三方包解决,就使用第三方的函数。如果是一个频繁使用的场景,而第三方依靠不了,就自己编一个函数。如果是临时性的场景,写得粗糙点也无所谓。毕竟分析师的代码能力不要求工程师那么严格,所以Python的学习尽量以应用为主,不用像分析师那么严格。
包、模块和类的概念属于进阶知识,不学也不要紧。
「Python的数据分析: numpy和pandas入门」介绍了数据分析师赖以生存的两个包,numpy和pandas,其他Python知识可以不扎实,这两个最好认真掌握。它是往后很多技能树的前置要求。
array,series,dataframe是numpy和pandas的三个数据结构,掌握它们,便算是入门了。后续的两篇教程都是实战。
「用pandas进行数据分析实战」以分析师的薪资作为实战数据。Excel、BI、SQL,一路走来,大家想必对它无比熟悉,这也是最后一次使用它了。教程通过Pandas的各类功能,绘制出一副词云图。
1、使用file_get_contents获得网页源代码。这个方法最常用,只需要两行代码即可,非常简单方便。
2、使用fopen获得网页源代码。这个方法用的人也不少,不过代码有点多。
3、使用curl获得网页源代码。使用curl获得网页源代码的做法,往往是需要更高要求的人使用,例如当你需要在抓取网页内容的同时,得到网页header信息,还有ENCODING编码的使,USERAGENT的使用等等。所谓的网页代码,就是指在网页制作过程中需要用到的一些特殊的"语言",设计人员通过对这些"语言"进行组织编排制作出网页,然后由浏览器对代码进行"翻译"后才是我们最终看到的效果。制作网页时常用的代码有HTML,JavaScript,ASP,PHP,CGI等,其中超文本标记语言(标准通用标记语言下的一个应用、外语简称:HTML)是最基础的网页代码。
以上就是关于php爬虫视频教程以及scripting生成出来的页面的方法吗的相关回答,有更多疑问可以加微。Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有