V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
qweweretrt515
V2EX  ›  问与答

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

  •  
  •   qweweretrt515 · Nov 16, 2016 · 3118 views
    This topic created in 3452 days ago, the information mentioned may be changed or developed.

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

    用 requests 请求 api 的数据

    然后用 sqlalchemy 存入我的数据库

    运行的时候 python 123.py

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

    大家平时是怎么弄的

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