技术首页投稿(暂停使用,暂停投稿)程序员

Python爬虫学习-大数据统计分析(基础)

2016-05-26  本文已影响3046人  掷骰子的求
编译环境:python v3.5.0, mac osx 10.11.4

<big>python爬虫基础知识: Python爬虫学习-基础爬取</big>
<big>python爬虫进阶知识: Python爬虫学习-爬取大规模数据</big>
若未进行数据爬取可以使用此数据进行练习Github

可视化第三方库与网页编译器

数据分析流程

  1. 备份数据,防止处理时对数据造成的意外损坏
    mongodump -h dbhost -d dbname -o dbdirectionary
    # -h mongodb所在服务器地址,如本机127.0.0.1
    # -d 需要备份的数据库实例如:gangjiData
    # -o 备份数据存放地址如:/Users/fujingxin/Desktop/backData
  2. 对数据进行预处理(以上节爬取的数据为例)
  1. 利用聚合管道pipeline对数据进行高效的查找与筛选
    当我们要针对爬取的数据进行统计分析时,不同的问题需要的数据形式不同,pipeline相当一个可以提供给我们一层一层筛选所需数据的管道。
    mongodb提供的pipeline操作如下,其中$所接字符表示进行的具体操作。其中match表示针对给定的信息筛选出数据库中的信息,group表示根据制定信息进行分组等等(具体使用见实例)。
  2. 利用highchair绘制图表

实战练习1

问题:某段时间内,北京各个城区发帖数量的 top3 类目
已知:
某个时间段,例:2015.12.25~2015.12.27
北京各个城区,例:朝阳
求解:
发帖数量 top3

分析流程

所需数据结构:
原始:

series = [{'name': 'name','data': [100]},{'name': 'name','data': [100]}, ...]

实际上:

{name:类目,data:发帖量}

目标:

{'_id': ['北京二手家电'], 'counts': 175}

构建聚合管道:

构建绘图所需要的数据结构: 绘制图表:

实战练习2

问题:某段时间内各大类目中成色对应的平均价
已知:
某个时间段,例:2015.12.25~2015.12.27
各大类目,例:北京二手手机,北京二手笔记本
单个物品价格,例:某品牌二手电视,价格1000元
求解:
平均价格

分析流程

所需数据结构:
原始:

series = ['data1','data2','data3']

实际上:

[全新对应的价格,9成新对应的价格,8成新对应的价格,7成新对应的价格]

目标:

{'avg_price': 300.0, '_id': '7成新及以下'}

构建聚合管道:


构建绘图所需要的数据结构:
绘制图表:

如何将数据库导出为csv

mongoexport -d database -c collection -o output/path.csv

All source code can be downloaded at GitHub:
https://github.com/jacobkam/WebCrawlerLearning.git
上一篇 下一篇

猜你喜欢

热点阅读