V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Merlini
V2EX  ›  Python

python 爬取的数据要如何展现(可视化)?

  •  1
     
  •   Merlini · 2016-08-02 21:45:39 +08:00 · 7570 次点击
    这是一个创建于 3042 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近无聊去熊猫 tv 直播了一小会,写了个爬虫,爬取主播 id 和竹子数量进行排序啥的看看。
    然后爬取的数据不知道怎么展现,以前都是放在本地自己看看。
    现在暂时把 python 脚本放在学生主机上了,每天 8pm 爬取一次,保存为 csv 格式。
    那么问题来了,这些数据如何展示出来了?我暂时有几个想法:

    1. csv 直接变成 html 表格
    2. 使用类似 jinja2 之类的模板
    3. 将数据存储起来,用 js 处理,正好做个网站(本人学了一丢丢前端知识)为什么要用 js 处理呢,因为感觉加上 h5 和 css3 ,数据展示效果应该会很棒比较酷炫。就是不知道 js 处理数据能力怎么样,但是其实我这边数据也很少

    github 地址: panda-bamboos-rank

    代码写的很入门级,希望大家多多发表意见

    25 条回复    2016-08-06 23:27:06 +08:00
    raycool
        1
    raycool  
       2016-08-02 21:48:18 +08:00   ❤️ 1
    highchart
    ranjiayu
        2
    ranjiayu  
       2016-08-02 22:06:41 +08:00   ❤️ 1
    ECharts
    Merlini
        3
    Merlini  
    OP
       2016-08-02 22:51:20 +08:00
    @raycool
    @ranjiayu
    能具体讲讲这些东西吗 都是 js 生成的 charts ?
    那既然用 js 的话,我怎么把 python 的这些数据传给 js 呢
    hustlike
        4
    hustlike  
       2016-08-02 22:53:34 +08:00
    splunk 免费版
    lxy
        5
    lxy  
       2016-08-02 23:08:22 +08:00   ❤️ 1
    我自己用 Flask 搭了个 web app ,写好前端,返回整理好的数据 json 即可,连模板都没用上。
    Perry
        6
    Perry  
       2016-08-02 23:08:52 +08:00   ❤️ 1
    Merlini
        7
    Merlini  
    OP
       2016-08-03 08:05:17 +08:00 via Android
    @Perry 请问我是需要先把数据存到数据库,再用 js 读取?
    zhouxuchen
        8
    zhouxuchen  
       2016-08-03 08:53:03 +08:00 via iPhone   ❤️ 1
    还是放在数据库比较靠谱……接口的话用 Flask 就行,然后用 js 请求下
    namco1992
        9
    namco1992  
       2016-08-03 09:09:39 +08:00   ❤️ 3
    我是把数据放在 mongodb ,然后单独一个脚本作分析,导出 json ,用 c3.js 画图,然后随便写个很简单的页面就好了。
    展示在这里: http://107.170.207.236/job_analysis
    代码在这里: https://github.com/namco1992/job_analysis
    Perry
        10
    Perry  
       2016-08-03 09:24:18 +08:00 via iPhone   ❤️ 1
    @Merlini 一般把数据存在数据库,然后像楼上一样把分析出来的结果导出来(比如 json )用来展示,因此展示的时候不需要连接数据库。
    Merlini
        11
    Merlini  
    OP
       2016-08-03 09:33:38 +08:00 via Android
    @zhouxuchen @namco1992 @Perry 非常感谢 我研究研究
    aitaii
        12
    aitaii  
       2016-08-03 10:09:32 +08:00
    @Merlini highchart,ECharts 数据格式应该是 json 的。
    oraant
        13
    oraant  
       2016-08-03 10:53:46 +08:00   ❤️ 2
    最简单的当然是 excel 绘图。。
    然后是 echarts , google 图表之类的在线生成图片的。
    这些都适合小白。

    正确的姿势,是存到数据库中,然后通过 JSON 传递给 js 组件,如大家提到的 Echarts , HighCharts

    Echarts 和 Highchart 上手都很简单,有点 js 基础,就可以 5 分钟入门。
    D3 之类的学习曲线太陡。
    还有其他的一堆图表绘制插件,搜一下就是了。
    lzgbeyong
        14
    lzgbeyong  
       2016-08-03 14:04:37 +08:00
    正好最近用 node 爬虫爬取了各个直播网站的 dota 信息,直接用网站显示,这是网站 http://120.76.29.108:8080/
    只显示数据可以用 python 的 matplot 绘制表格。
    slysly759
        15
    slysly759  
       2016-08-03 14:15:32 +08:00
    @namco1992 前端生成的界面好棒啊
    Merlini
        16
    Merlini  
    OP
       2016-08-03 15:10:44 +08:00 via Android
    @namco1992 请问 mongodb 和 mysql 这两种不同类型的数据库 如何选择呢
    dabpop139
        17
    dabpop139  
       2016-08-03 16:31:36 +08:00
    有个小问题想请教,已经在你 Github 项目上提 Issue
    20150517
        18
    20150517  
       2016-08-03 18:44:53 +08:00   ❤️ 1
    Highchart + 1
    我不是前端的,但也用 django + highchart 做了不少,感觉很简单
    另外如果只是自己看的,我一般 ipython notebook 的 plot 直接显示了

    或者如果是实时数据,我还喜欢用 carbon+graphite 直接显示出来,我用十几个 graph 监控金融市场数据,用 graphite 显示的
    Merlini
        19
    Merlini  
    OP
       2016-08-03 21:41:56 +08:00
    @dabpop139 已回复
    Merlini
        20
    Merlini  
    OP
       2016-08-03 21:44:12 +08:00
    @20150517 准备用 echarts 还是中文看着爽。。
    20150517
        21
    20150517  
       2016-08-03 21:46:42 +08:00 via Android
    @Merlini 嗯 刚看了 echarts 也不错
    namco1992
        22
    namco1992  
       2016-08-03 23:24:23 +08:00
    @slysly759 就是 c3.js 啊,说 d3 学习曲线陡峭的可以尝试一下,我这种前端一窍不通的都能写,这种比较基础的图表很简单啊,数据组织好了就只剩下调调参数而已了。
    namco1992
        23
    namco1992  
       2016-08-03 23:32:54 +08:00   ❤️ 1
    @Merlini 关系型数据库偏重结构化的数据, mysql 对 json 的支持也是 5.7 加入的,估计很多人还没用上吧。而爬取的数据很难结构化,并且多变,又用不到关系型数据库的那些强项,使用文档型的 nosql 存储比较合适。而且 mongodb 应该算是 nosql 里面最像 mysql 的了,有索引,查询方便。

    综上原因,所以选择了 mongodb 。
    coreki
        24
    coreki  
       2016-08-06 19:34:20 +08:00 via iPhone
    我也在用 scrapy 写爬虫玩,打算用 mongodb 存数据,用 flask 和 js 的图形控件可视化
    Merlini
        25
    Merlini  
    OP
       2016-08-06 23:27:06 +08:00 via Android
    @coreki 你是准备本地爬取存储分析 然后上传数据么 我在纠结要不要给服务器搞个数据库 又怕吃不消
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1058 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 23:23 · PVG 07:23 · LAX 15:23 · JFK 18:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.