python 后台跑个脚本抓某个 API 的结果,然后存入我的数据库,怎么弄比较高级、稳定、装逼 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qweweretrt515
V2EX    问与答

python 后台跑个脚本抓某个 API 的结果,然后存入我的数据库,怎么弄比较高级、稳定、装逼

  •  
  •   qweweretrt515 2016-11-16 16:31:01 +08:00 2830 次点击
    这是一个创建于 3258 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前是,所有代码写在一个 py 文件里

    用 requests 请求 api 的数据

    然后用 sqlalchemy 存入我的数据库

    运行的时候 python 123.py

    虽然可以完成这个需求,但是总觉得档次有些 low ,感觉总有点不靠谱

    大家平时是怎么弄的

    19 条回复    2016-11-17 17:36:40 +08:00
    xss
        1
    xss  
       2016-11-16 16:38:42 +08:00   2
    让我想起了生活大爆炸里发送一个信号途经各种卫星, 各大洲, 最终结果是开了自己家的一盏灯的梗.....
    Phant0m
        2
    Phant0m  
       2016-11-16 16:41:25 +08:00   1
    弄个守护进程 日志报警
    asd103
        3
    asd103  
       2016-11-16 19:13:00 +08:00   2
    写的“庞大”一点,分好多文件,然后让人看不懂
    Ouyangan
        4
    Ouyangan  
       2016-11-16 19:14:44 +08:00
    用 java
    upczww
        5
    upczww  
       2016-11-16 19:39:52 +08:00   1
    simple yet efficient 是极好的。
    ranleng
        6
    ranleng  
       2016-11-16 19:56:53 +08:00 via Android   1
    每一个函数都写成单独的文件然后各种 import.
    popu111
        7
    popu111  
       2016-11-16 20:36:08 +08:00 via Android   1
    上 Redis/mongodb
    GreatMartial
        8
    GreatMartial  
       2016-11-16 20:41:06 +08:00 via Android
    难道没有人和楼主一样,有这种感受吗?
    ieiayaobb
        9
    ieiayaobb  
       2016-11-16 21:21:46 +08:00   1
    上 scrapy
    meta
        10
    meta  
       2016-11-16 22:58:07 +08:00 via iPhone   1
    要装逼很容易,把他弄成啥都可以抓,哪儿都可以入,一大堆松耦合。
    虽然最后也就干这一件事。
    bazingaterry
        11
    bazingaterry  
       2016-11-17 00:11:00 +08:00   1
    写个异步多进程。
    ys0290
        12
    ys0290  
       2016-11-17 00:12:46 +08:00 via iPhone
    用意念控制它
    Senevan
        13
    Senevan  
       2016-11-17 00:16:58 +08:00 via Android   1
    把吃饱灰的树莓派掏出来干这事
    exalex
        14
    exalex  
       2016-11-17 00:28:25 +08:00
    为啥楼上都是答非所问,我也想看其他方案,结果全是抖机灵的
    windfarer
        15
    windfarer  
       2016-11-17 00:44:24 +08:00 via Android   1
    这简单,你爬虫吐给 logstash ,后面接个 elasticsearch 集群做存储,还可以搜索,高可用!装逼!
    Tink
        16
    Tink  
    PRO
       2016-11-17 02:50:51 +08:00 via iPhone
    把函数写开
    weakiwi
        17
    weakiwi  
       2016-11-17 07:55:39 +08:00 via Android   1
    用 django+django-cron ,定时抓取,然后写个 views 展示下。再弄个 supervisor(自己写当然也好)弄个看门狗,输出个 log 。弄成系统服务
    ksc010
        18
    ksc010  
       2016-11-17 10:10:15 +08:00   1
    1. 区分异常类型,一些网络问题原因引起的可以重试的 就重试几次,
    因为接口问题引起的(比如接口变更,数据结构变了)就做好结果格式的判断,不符合就抛出异常
    2. 记录详细的日志
    3. 最后捕捉异常 邮件或短信报警,人工干预优化代码
    blabla
        19
    blabla  
       2016-11-17 17:36:40 +08:00
    先开发个 Python 5.0, 然后再开发个框架. 最后用这两者实现你的抓取功能. 简直不能再炫了.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1645 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 16:20 PVG 00:20 LAX 09:20 JFK 12:20
    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