这几天做的一个爬天朝区气象雷达数据的爬虫,每 10 分钟 500+帧,跑 GAE 存 GitHub - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
akfish
V2EX    分享创造

这几天做的一个爬天朝区气象雷达数据的爬虫,每 10 分钟 500+帧,跑 GAE 存 GitHub

  •  9
     
  • &nsp; akfish
    akfish 2014-08-10 22:43:06 +08:00 7773 次点击
    这是一个创建于 4129 天前的主题,其中的信息可能已经有所发展或是发生改变。
    作为一个数据控,爱好各类实时数据,最近在用 HTML5 把天朝区土鳖的气象雷达图去土鳖化,比如:

    经过 HTML5 拖下来一堆算法撸过以后变成:


    由于 Canvas CORS 的的限制,必须把图片爬下来放到同域名上,经过一番折腾撸出这样一个脑洞略大的方案:
    找了一圈国外免费的云服务,能访问 nmc.gov.cn 的也就只有 GAE 。
    天朝目前有 167 个气象雷达站,平均 10 分钟更新一帧(部分是 5 分钟),每帧 35k ,一天会产生 800M+的数据,GAE 是放不下的,于是用 GitHub API 放 GitHub Pages 上。
    同时需要产生 json 文件供前端调用,撸了一圈发现 GAE 的 datastore quota 最多爬 3 次就会被撑爆,于是又用 GitHub API 把 commit 后的 git tree 拖回 GAE 当数据库用。

    每个站要在百度地图上放叠加层,需要知道中心的经纬度,以及每帧数据的范围。之前爬到一个内部的 xml ,有所有站点的坐标,于是很愉快的解决了。数据范围没有现成的数据,于是顺便写了个简单的 OCR 算法从图片上识别出来。最后这些数据和爬虫爬到的整合,生成一个 json 文件供前端调用。

    目前是 GAE 上跑两个 application 分时爬(一个 application 的 bandwidth quota 只够爬半天),GitHub 的 Repo 一天一清,避免超过 1GB 大小的限制被和谐。

    数据有保障了,又可以愉快的把前端撸完早日上线。

    爬虫源码:
    https://github.com/catx-weather/radar-bot
    爬虫数据:
    https://github.com/catx-weather/data
    OCR 脚本:
    https://github.com/catx-weather/frame-range-ocr
    第 1 条附言    2014-08-10 23:17:48 +08:00
    无级缩放,保留空间分辨率信息,依然是原始数据无插值:
    27 条回复    2014-10-18 17:13:51 +08:00
    neoz
        1
    neoz  
       2014-08-10 22:47:04 +08:00
    虽然没多大 用,但是看起来X格很高!赞!
    mywaiting
        2
    mywaiting  
       2014-08-10 22:51:52 +08:00
    LZ这么牛逼,你妈知道的吗!赞+1
    leveraging
        3
    leveraging  
       2014-08-10 22:53:14 +08:00
    帅哭。
    arnofeng
        4
    arnofeng  
       2014-08-10 22:53:32 +08:00 via Android
    太流弊
    procen424
        5
    procen424  
       2014-08-10 22:57:45 +08:00
    官方雷达图虽然看上去土鳖,但是像素点的颜色和位置是精确的,结合刻度能读出非常有效的信息。
    30dbZ基本就要下雨了 40dbZ就是短时雷雨大风天气
    这么一处理反倒没法看了。。。
    akfish
        6
    akfish  
    OP
       2014-08-10 23:14:49 +08:00   1
    @procen424 处理后的位置也是精确对齐的,花了不少精力保证爬到能用来保证对齐精度的数据。
    像素的颜色只是换了套伪彩方案而已,数据依然是用的原始数据,并且能保留空间分辨率无级放大。
    后面会加上交互,鼠标到任意点就能获得该点dBz大小,比官方的易读得多了。
    akfish
        7
    akfish  
    OP
       2014-08-10 23:18:13 +08:00
    @procen424 见append。
    chenillen
        8
    chenillen  
       2014-08-10 23:36:32 +08:00
    github 服了肯定是因 project 的!lz !!!
    glogo
        9
    glogo  
       2014-08-10 23:54:36 +08:00
    赖斯啊!
    WangYan
        10
    WangYan  
       2014-08-10 23:59:54 +08:00
    点个赞,若提示dBz大小,就真的比官方的易读多了
    scylla
        11
    scylla  
       2014-08-11 00:03:49 +08:00 via iPad
    lZ, Tai Niue be le, zan!
    vbs
        12/span>
    vbs  
       2014-08-11 00:27:52 +08:00
    nb。。。。
    lz你那还有其他数据?
    lcj2class
        13
    lcj2class  
       2014-08-11 07:41:20 +08:00 via Android
    等会必须fork
    wzb350
        14
    wzb350  
       2014-08-11 09:39:07 +08:00
    不明觉厉
    superbear
        15
    superbear  
       2014-08-11 09:50:29 +08:00
    真厉害,居然把gitgub当数据库用!
    valianliu
        16
    valianliu  
       2014-08-11 10:37:45 +08:00
    坐等前段上线,太流弊了。
    KillAd
        17
    KillAd  
       2014-08-11 10:42:07 +08:00
    能做成站点上线上来才是大家最期待的吧
    hao1032
        18
    hao1032  
       2014-08-11 10:51:26 +08:00
    GAE的数据库是不给力,以前爬了几天的数据想删除。到现在已经删了2天了,删一会就提示配额不足,然后只能等到第二天继续删。 哭。。。。。。。。。。。
    procen424
        19
    procen424  
       2014-08-11 12:48:54 +08:00
    @akfish 棒!期待早日上线
    0065paula
        20
    0065paula  
       2014-08-11 14:55:23 +08:00
    不知道楼主有没有玩过 caiyunapp.com ?也是获取是实时雷达数据,用来看什么时候雨停还不错。
    openroc
        21
    openroc  
       2014-08-11 14:56:25 +08:00
    @hao1032, 多弄几个GAE,轮流爬。:)
    akfish
        22
    akfish  
    OP
       2014-08-11 15:35:22 +08:00
    @0065paula 不错的app,我目前侧重交互和数据可视化,多增加几种数据源后才会开始做预报算法。
    akfish
        23
    akfish  
    OP
       2014-08-11 15:36:15 +08:00
    @vbs 目前只是雷达,这个做完善后再爬别的。
    no13bus
        24
    no13bus  
       2014-08-11 16:57:32 +08:00
    @akfish 数据可视化,楼主玩 http://processingjs.org/
    吗?
    akfish
        25
    akfish  
    OP
       2014-08-11 17:21:21 +08:00
    @no13bus 小玩过,还没在项目里用过。
    hao1032
        26
    hao1032  
       2014-08-12 10:21:47 +08:00
    @openroc 我是删除数据
    crossmaya
        27
    crossmaya  
       2014-10-18 17:13:51 +08:00
    不错,mark!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     880 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 22:50 PVG 06:50 LAX 14:50 JFK 17:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86