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

编译环境:python v3.5.0, mac osx 10.11.4

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

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

  • Jupyter Notebook
    安装:终端输入
    pip3 install jupyter
    启动:终端输入
    jupyter notebook


    Python爬虫学习-大数据统计分析(基础)_第1张图片
  • highchart
    安装:终端输入
    pip3 install charts
    检测:

    • 终端输入
      jupyter notebook
      在jupyter页面点击new>python3
      Python爬虫学习-大数据统计分析(基础)_第2张图片
      在新页面中输入
      import charts
      然后点击cell>run
      Python爬虫学习-大数据统计分析(基础)_第3张图片
      若遇到如下情况则需更换charts中的文件
      Python爬虫学习-大数据统计分析(基础)_第4张图片
  • 更换文件
    查找charts所在目录,在jupyter中打开一个新的python文件输入:
    import sys
    print(sys.path)
    在输出的路径中查找site-packages的路径:

    Python爬虫学习-大数据统计分析(基础)_第5张图片
    打开finder,点击前往>文件夹
    Python爬虫学习-大数据统计分析(基础)_第6张图片
    输入刚才的site-package的路径,点击前往:
    Python爬虫学习-大数据统计分析(基础)_第7张图片
    替换charts中的7个文件:替换文件下载(Github)
    Python爬虫学习-大数据统计分析(基础)_第8张图片

数据分析流程

  1. 备份数据,防止处理时对数据造成的意外损坏
    mongodump -h dbhost -d dbname -o dbdirectionary
    # -h mongodb所在服务器地址,如本机127.0.0.1
    # -d 需要备份的数据库实例如:gangjiData
    # -o 备份数据存放地址如:/Users/fujingxin/Desktop/backData
    Python爬虫学习-大数据统计分析(基础)_第9张图片
  2. 对数据进行预处理(以上节爬取的数据为例)
  • 去除area中多余的部分(‘-’),并将None改为地区不明
    Python爬虫学习-大数据统计分析(基础)_第10张图片
  • 统一发布日期的格式
    Python爬虫学习-大数据统计分析(基础)_第11张图片
  • 转换价格格式,方便计算
    Python爬虫学习-大数据统计分析(基础)_第12张图片
  1. 利用聚合管道pipeline对数据进行高效的查找与筛选
    当我们要针对爬取的数据进行统计分析时,不同的问题需要的数据形式不同,pipeline相当一个可以提供给我们一层一层筛选所需数据的管道。
    Python爬虫学习-大数据统计分析(基础)_第13张图片
    mongodb提供的pipeline操作如下,其中$所接字符表示进行的具体操作。其中match表示针对给定的信息筛选出数据库中的信息,group表示根据制定信息进行分组等等(具体使用见实例)。
    Python爬虫学习-大数据统计分析(基础)_第14张图片
  2. 利用highchair绘制图表
  • 绘制柱状图
    Python爬虫学习-大数据统计分析(基础)_第15张图片
  • 绘制折线图
    Python爬虫学习-大数据统计分析(基础)_第16张图片
  • 绘制饼图
    Python爬虫学习-大数据统计分析(基础)_第17张图片

实战练习1

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

分析流程

所需数据结构:
原始:

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

实际上:

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

目标:

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

构建聚合管道:

Python爬虫学习-大数据统计分析(基础)_第18张图片
构建绘图所需要的数据结构:
Python爬虫学习-大数据统计分析(基础)_第19张图片
绘制图表:
Python爬虫学习-大数据统计分析(基础)_第20张图片

实战练习2

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

分析流程

所需数据结构:
原始:

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

实际上:

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

目标:

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

构建聚合管道:

Python爬虫学习-大数据统计分析(基础)_第21张图片

构建绘图所需要的数据结构:
Python爬虫学习-大数据统计分析(基础)_第22张图片

绘制图表:
Python爬虫学习-大数据统计分析(基础)_第23张图片

如何将数据库导出为csv

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


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

你可能感兴趣的:(Python爬虫学习-大数据统计分析(基础))