数据挖掘敲门砖--Python爬虫入门

WHAT

数据挖掘是一门综合的技术,随着Ai的兴起,在国内的需求日渐增大。

数据挖掘的职业方向通常有三个,顺便概要地提一下所需的技能(不仅于此)

  • 数据分析方向:需要数理知识支撑,比如概率论,统计学等
  • 数据挖掘方向:需要懂得主流算法的原理及应用,数据库的原理和操作
  • 科学研究方向:通常是科学家们在深入研究数据挖掘的相关基础理论和算法

但是看完简介,好像和爬虫没什么关系? 接着往下看。

要开始数据挖掘之路,可以先从培养数据分析能力开始。 数据分析的常见步骤是:

  1. 数据准备
  2. 数据观察(找规律)
  3. 数据建模
  4. 数据挖掘(将得到的模型选择合适的算法应用到数据上,验证并得出结论)

WHY

据统计,数据准备占整个数据分析70%的时间. 我们把数据准备的步骤进行细分:

  1. 数据获取: 数据爬虫, 数据仓库
  2. 数据清洗: 去掉无用的数据
  3. 数据整理: 将数据规格化
  4. 数据存储: 先存储为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 ):用来循环,重复爬虫动作
  • 文件读写操作:用来读取参数、保存爬下来的内容等

了解爬虫

发送请求——获得页面——解析页面——下载内容——储存内容, 这是通常爬虫的五步走. 再简化一下步骤, 就是 分析目标, 解析页面, 存储内容

  • 分析目标

我们要分析的目标----网页, 它里面的信息只有两种呈现方式:

  1. HTML
  2. 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

把项目完成之后, 相信你会对爬虫有更好的理解.

欢迎大佬指出错误, 欢迎技术交流, QQ:994342122


今日作者: 光光同学_

不爱看电影的摄影师不是好的程序员

原文发布于微信公众号 - 程序员的碎碎念(gh_53e607dd4782)

原文发表时间:2018-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏极客慕白的成长之路

2018 前端趋势:更一致,更简单

1202
来自专栏大数据

掌握数据处理的新方法!

来自:数据观 https://www.shujuguan.cn/?from=qiehao 一提到数据处理,我们首先想到的就是excel,作为日常必备的办公软件,...

1846
来自专栏python小白到大牛

python爬取B站千万级数据,发现了这些热门UP主的秘密!

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史...

1250
来自专栏编程微刊

2017年10大主流编程语言最新排行榜出炉

2393
来自专栏安恒信息

Jsprime——一款JavaScript静态安全分析工具

如今,越来越多开发人开始将JavaScript作为其首选语言方案。理由很简单,JavaScript如今正越来越多地被视为应用程序的主流开发语言——无论是在Web...

2787
来自专栏phodal

如何识别不同的编程语言(上)

漫谈编程语言:数量 这又是一个有趣的话题~~,要知道编程语言有那么的多。引自Quora上一个相关问题的答案,从ABC到Z Shell就有256个。 但是这并不是...

2106
来自专栏PPV课数据科学社区

如何用Python分析大数据(以Twitter数据挖掘为例)

大数据无处不在。在时下这个年代,不管你喜欢与否,在运营一个成功的商业的过程中都有可能会遇到它。 本教程将会简要介绍何谓大数据,无论你是尝试抓住时机的商人,抑或是...

4433
来自专栏大数据文摘

交互式数据可视化,在Python中用Bokeh实现

23711
来自专栏企鹅号快讯

2017年10大主流编程语言最新排行榜出炉

前言 据美国科技公司Gizmodo报道,截至2014年9月24日,全世界采用IT操作系统的设备数量已经达到10亿台,IT推动中国移动互联网进入高速发展期,成为所...

1789
来自专栏程序员的知识天地

最有效、最全的Vue 2.0 学习路线,各个阶段适用

对于我这种从0.x版本就开始体验 vuejs 的人来说,当然不算难,那时候没各种脚手架和复杂搭配,仅仅是一个mvvm的解决方案库而已,解决了jq带来的繁琐操作d...

912

扫码关注云+社区