美文网首页技术首页投稿(暂停使用,暂停投稿)程序员
Python爬虫学习-大数据统计分析(基础)

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

作者: 掷骰子的求 | 来源:发表于2016-05-26 20:27 被阅读3046次
    编译环境:python v3.5.0, mac osx 10.11.4

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

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

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


    • highchart
      安装:终端输入
      pip3 install charts
      检测:

      • 终端输入
        jupyter notebook
        在jupyter页面点击new>python3 在新页面中输入
        import charts
        然后点击cell>run 若遇到如下情况则需更换charts中的文件
    • 更换文件
      查找charts所在目录,在jupyter中打开一个新的python文件输入:
      import sys
      print(sys.path)
      在输出的路径中查找site-packages的路径:

      打开finder,点击前往>文件夹 输入刚才的site-package的路径,点击前往: 替换charts中的7个文件:替换文件下载(Github

    数据分析流程

    1. 备份数据,防止处理时对数据造成的意外损坏
      mongodump -h dbhost -d dbname -o dbdirectionary
      # -h mongodb所在服务器地址,如本机127.0.0.1
      # -d 需要备份的数据库实例如:gangjiData
      # -o 备份数据存放地址如:/Users/fujingxin/Desktop/backData
    2. 对数据进行预处理(以上节爬取的数据为例)
    • 去除area中多余的部分(‘-’),并将None改为地区不明
    • 统一发布日期的格式
    • 转换价格格式,方便计算
    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

    相关文章

      网友评论

      本文标题:Python爬虫学习-大数据统计分析(基础)

      本文链接:https://www.haomeiwen.com/subject/nksgrttx.html