WHAT
数据挖掘是一门综合的技术,随着Ai的兴起,在国内的需求日渐增大。
数据挖掘的职业方向通常有三个,顺便概要地提一下所需的技能(不仅于此)
- 数据分析方向:需要数理知识支撑,比如概率论,统计学等
- 数据挖掘方向:需要懂得主流算法的原理及应用,数据库的原理和操作
- 科学研究方向:通常是科学家们在深入研究数据挖掘的相关基础理论和算法
但是看完简介,好像和爬虫没什么关系?
接着往下看。
要开始数据挖掘之路,可以先从培养数据分析能力开始。
数据分析的常见步骤是:
- 数据准备
- 数据观察(找规律)
- 数据建模
- 数据挖掘(将得到的模型选择合适的算法应用到数据上,验证并得出结论)
WHY
据统计,数据准备占整个数据分析70%的时间.
我们把数据准备的步骤进行细分:
- 数据获取: 数据爬虫, 数据仓库
- 数据清洗: 去掉无用的数据
- 数据整理: 将数据规格化
- 数据存储: 先存储为CSV等文件, 最后再将数据进行整理和归档
注释: CSV, 全称Comma-Separated Values,即逗号分割值.
是将数据以逗号分隔开的一种纯文本文件, 实际上逗号可以是用其他符号代替.
数据仓库通常是企业级的应用, 对于我们这种初学者获取的难度较高. 而数据爬虫的门槛就很低了, 甚至对于没接触过编程的其他专业的朋友也没有很高的门槛, 这得益于一门语法简单的语言-----Python的流行.
这就是为什么把Python爬虫称作敲门砖的原因啦
HOW
现在我们的目标变成两个, 先会Python, 再会用Python爬虫
-
Python入门
选择一个合适的教程可以让你少走一些弯路, 在Google上搜索Python教程, 可以收到42万条结果, 排名靠前的菜鸟教程, 廖雪峰的Python教程, 以及简明Python教程, 都是适合入门的免费教程
- 菜鸟教程 http://www.runoob.com/python/python-tutorial.html
- 廖雪峰的官方网站 https://www.liaoxuefeng.com/
- 简明Python教程 https://bop.mol.uno/
感觉没时间先完全系统地学习? 可以先把下面这些Python知识先掌握, 以后再把其他补上!
- list,dict(列表, 字典):用来序列化你爬的东西
- 切片:用来对爬取的内容进行分割,生成
- 条件判断(if等):用来解决爬虫过程中哪些要哪些不要的问题
- 循环和迭代(for while ):用来循环,重复爬虫动作
- 文件读写操作:用来读取参数、保存爬下来的内容等
-
了解爬虫
发送请求——获得页面——解析页面——下载内容——储存内容, 这是通常爬虫的五步走.
再简化一下步骤, 就是 分析目标, 解析页面, 存储内容
- 分析目标
我们要分析的目标----网页, 它里面的信息只有两种呈现方式:
- HTML
- JSON
这些信息是我们先向服务器发送请求, 随后服务器返回信息给我们. 有点像我们平时在餐馆吃饭, 你既要POST跟服务器'点菜', 也要GET等服务器'上菜'
在这里, 你可以学习Python的一个基础库
Request http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
通过它来模拟发出POST和GET请求
相关知识连接:
HTML:
http://www.w3school.com.cn/h.asp
JSON:
http://www.runoob.com/json/json-intro.html
GET与POST:
http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
- 解析页面
解析页面有两把利器: 一个是正则表达式, 另一个是选择一些库来帮助我们解析,比如Beautiful Soup
相关知识连接:
Beautiful Soup:
https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
正则表达式:
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
- 存储内容
最后我们通过文件的读写把爬取的内容存储到CSV等文件,或者数据库中. 在一开始, 你也可以选择直接打印到屏幕上,
-
实践项目
爬取豆瓣电影Top250
https://zhuanlan.zhihu.com/p/20423182
把项目完成之后, 你会对爬虫有更好的理解.