数据科学 | 『运筹OR帷幄』数据分析、可视化、爬虫系列教程征稿通知

数据科学 | 『运筹OR帷幄』数据分析、可视化、爬虫系列教程征稿通知

编者按:随着人工智能时代的到来,数据对于各个行业的重要性与日俱增。如何快速高效的获取、处理和分析数据成为了每一个信息行业从业者的基本技能。但是常常忙于日常的工作和学习,苦于找不到合适的机会促进自己学习数据分析技能?不要着急,『运筹OR帷幄』数据科学板块通过以往数据分析的经验和数据分析所需要的基本知识梳理了本教程提纲,只要你想学习,就可以参与。加入我们,每个提纲的小题目都是一个小project,每周花一些业余时间,跟着提纲一步一步完善教程,给自己一个学习的动力,同时还能和大家一同分享交流学习经验,小编在这里期待你的加入!

文章作者:杨士锦,佘亮,杨陶然,周岩
责任编辑:周岩
审稿责编:周岩
文章发表于微信公众号【运筹OR帷幄】:数据科学 | 『运筹OR帷幄』数据分析、可视化、爬虫系列教程征稿通知
欢迎原链接转发,转载请私信@运筹OR帷幄获取信息,盗版必究。
敬请关注和扩散本专栏及同名公众号,会邀请全球知名学者发布运筹学、人工智能中优化理论等相关干货、知乎Live及行业动态:『运筹OR帷幄』大数据人工智能时代的运筹学

数据分析简介

在如今的互联网时代,数据成为了一座巨大的金矿。近年来的人工智能的发展更是以大量的数据为作为基础。面对如此多的数据,掌握数据的获取、处理和分析已经成为了各个行业的必备的基本技能。

『运筹OR帷幄』就是基于这个想法,希望能够用开源书籍的形式推动数据分析技能的普及。因此,开源系列教程主要从数据的爬虫、清晰分析和可视化三个方面来逐步展开,非常欢迎各位有经验的同学在各自擅长的部分贡献自己的力量。

参与方式

参与方式可以通过邮件联系我们公众号各个小专题的负责人,然后领取每个专题中的一小部分进行独立创作并投稿。稿件的形式最好是实例与代码的结合(可以直接是jupyter文件),同时提供相应的数据文件。这里我们只是列出了其中一部分内容,同时我们也非常欢迎各位同学贡献自己独创的数据分析技术。内容并不拘泥于大纲内的内容,小编在这里更期待你的投稿和新奇的想法哦。

书籍大纲
第一部分:数据爬取

责任编辑/负责人:杨士锦

数据的获取是我们开始做数据分析项目的前提,其重要性不言而喻。在一些时候,我们想分析一些网上的数据,但很多时候这部分的数据并没有现成的数据集,此时就需要通过爬虫来获取。因此,爬虫是一项可以拓展我们数据源来源途径的重要技能。在爬虫这一部分,我们将从爬虫的基础开始,学习一些爬虫相关库的使用、数据存储、进阶技能等等,最后目标是可以完成一些复杂网页数据的快速高效抓取。


一. 爬虫基础及概述

第一章我们将介绍一些在开始爬虫之前需要了解的基础知识,如http协议、网页基本知识、爬虫基本原理等内容。

  • http协议(定义、请求过程、请求方式、header和response、会话和cookies、代理)
  • 网页基本知识(html、css、JavaScript、xml、xpath、json)
  • 爬虫基本原理


二. 爬虫库

第二章我们将介绍最基本的HTTP库和页解析库的基本用法。运用python中这些功能齐全的库,我们可以实现一个最基本的爬虫。

(一)基本库

  • urllib(python内置的HTTP请求库,可以实现请求的发送)
  • requests(同样是HTTP请求库,比urllib更方便强大)
  • re(通过字符串的检索和匹配从HTML中提取信息)

(二)解析库

  • lxml(支持XPath解析,速度快)
  • beautiful soup(使用简单且支持多种解析器,如python标准库、lxml等)
  • pyquery(CSS选择器功能强大,语法与jQuery几乎完全相同)


三. 数据存储

第三章我们将介绍不同数据类型的各种存储方式。

  • json, txt, csv存储
  • 多媒体文件存储(图片、视频等)
  • 数据库(MySQL、MongoDB、Redis等)


四. 动态网页抓取

现在越来越多网站的页面是采用JavaScript动态渲染的,而原始网页不会有任何有效的数据,此时就需要通过仿造Ajax请求API接口的方式或使用Selenium测试工具来实现模拟浏览器进行爬取。这一章节将介绍这两个方法如何使用以及各自具体的实战案例。

  • Ajax请求API
  • Selenium模拟浏览器


五. 登录与验证码

在第五章,我们将介绍模拟登录网站的方法,以及如何应对登录或继续访问过程中出现的反爬措施之一验证码的处理。


六. 爬虫框架

爬虫框架功能强大、效率高,可以为我们节省大量的时间。在这一部分,我们将介绍目前较为常用的爬虫框架和他们各自的基本架构、原理、各个组件的使用方法及具体实战案例等。

  • pyspider
  • scrapy


七. app爬取

第七章我们将介绍如何在app上爬取数据,包括各类抓包软件的使用和Appium模拟手机app操作爬取。

  • mitmdump
  • Appium


八. 反反爬虫策略

第八章我们将介绍目前常见的反爬措施,以及一些反反爬虫的方法。

  • 常见的反爬措施
  • 随机userAgent
  • 代理池
  • cookie池
  • ......


九. 分布式爬虫

第九章我们将介绍分布式爬虫的基本原理以及使用Scrapy框架和Redis存储实现分布式爬虫的方法。

可参考资料:

  • 《Python3网络爬虫开发实战》
  • 《Python网络数据采集》
  • 各种库的官方文档
  • scrapy官方文档


第二部分:数据的清洗与分析

责任编辑/负责人:佘亮

数据处理是数据分析的核心部分,通过爬虫或者实际生产过程中初步获取的数据通常具有很多的“垃圾数据”,比如重复数据或者值缺失,不连续数据等等。这时就需要对数据首先进行筛选,补全等“清洗”操作。除此之外,“清洗”好的数据也需要根据不同的用途来进行转换,以适应分析,预测或者可视化的需求。数据的处理的软件包有很多,在python中主要应用Pandas来进行处理。Pandas是一个十分成熟的数据处理包,熟练掌握可以高效并且方便地将数据进行转换和清洗,本节主要整理了pandas的一些基本技能和实用技巧,为励志成为数据分析师的你铺路搭桥。


一 数据分析相关python包介绍

  • 常用数据分析库NumPy, Pandas, SciPy, statssmodels, scikit-learn, NLTK的简介与安装
  • 数据分析开发环境搭建

二 数据的导入与导出

  • 读取csv数据
  • 读取mysql数据

三 数据提取与筛选

  • 常见的数据格式与形态
  • Python对不同形式数据的读写

四 数据清洗处理

  • 如何对数据进行清洗
  • Pandas基本数据结构与功能
  • Pandas统计相关功能
  • Pandas缺失数据处理
  • Pandas层次化索引
  • Pandas DataFrame

五 高性能科学计算和数据分析的基础包Numpy

  • NumPy的性能优势
  • 数组对象处理
  • 文件输入输出
  • 线性代数相关功能
  • 高效操作实践

六 统计分析

  • 线性回归
  • 逻辑回归
  • SVM
  • K紧邻算法
  • 神经网络
  • 机器学习库Scikit-Learn与应用
  • 使用NLTK进行Python文本分析
  • Python深度学习keras入门


第三部分:数据可视化

责任编辑/负责人:杨陶然

数据可视化同样是数据分析不可缺少的重要环节,是将处理好的数据呈现出结论的最好方式。目前的可视化方法主要有统计图表,动态图等。可视化工具有很多,本节重点介绍几个在Python中常用的可视化工具,以帮助同学们了解和掌握可视化的基本用法。另外,数据可视化不仅在数据分析领域大有用处,熟练掌握可视化工具对科研论文配图质量、工作成果的展示等也十分重要。


一、可视化工具介绍

a.数据可视化简介

b.主流工具的优缺点对比


二、各个主流的工具的教程

a) Matplotlib--画图基本库

  1. Line plot
  2. Histogram
  3. Box plot
  4. Bar chart
  5. Scatter plot
  6. Time series data visualization
    (1).Lag plot
    (2).Autogorrelation plot
  7. 图表排版
  8. Font, color customization

b) seaborn -- 基于matplotlib的统计作图库


  1. Box plot
  2. Scatter plot
  3. Line plot
  4. Histogram

c)Plotly -- 可以云存储的动态作图工具

  1. Animated plot
  2. Plot with slider and widgets

d)Altair -- 基于Vega和Vega-Lite的统计可视化库。


e)Bokeh -- 已经基于网页的可视化工具


f)Geopandas - 地理数据可视化


参考资料:

  1. seaborn seaborn.pydata.org/
  2. matplotlib matplotlib.org/
  3. plotly plot.ly/
  4. altair altair-viz.github.io/
  5. bokeh bokeh.pydata.org/en/lat


附录:其他工具介绍:

  1. Pycharm的安装和使用
  2. Anaconda简介与安装教程
  3. 数据分析利器--Jupyter的使用技巧
  4. 团队协作工具--Github的使用
  5. 其他数据存储工具--Google drive
  6. Kaggle简介


关于本文责编


相关文章推荐

电影是20世纪以来出现的最受欢迎的娱乐形式,经过了100多年的发展,如今电影已经成为了人们生活不可缺少的一部分。那么这百年的电影行业发展如何?下文为大家带来更为全面深入的分析。

【数据科学 】用大数据带你了解电影行业百年发展历程


其他

【数据分析】手把手用Python教你分析运筹学薪资状


板块招聘信息

数据科学版块招聘(副)主编及数据分析爱好者,要求AI/DS相关专业博士在读或硕士毕业且1年以上数据从业经历。

更详细招聘信息详见平台招募令


关于我们:『运筹OR帷幄』团队掠影

请将简历发送至:operations_r@163.com

欢迎加入我们这个大家庭!


扫二维码关注『运筹OR帷幄』公众号:

点击查看『运筹OR帷幄』志愿者招募介绍及加入方式

发布于 2019-04-29

文章被以下专栏收录