V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
answeror
V2EX  ›  分享创造

Torabot: 二次元事件通知工具

  •  7
     
  •   answeror ·
    Answeror · 2014-05-01 19:30:22 +08:00 · 10607 次点击
    这是一个创建于 3889 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://torabot.aip.io/

    Torabot是一个二次元事件(邮件)通知工具. 目前实现了3个模块:

    1. Pixiv榜单订阅, 画师订阅. 邮件里附带缩略图.
    2. Bilibili新番订阅.
    3. 虎穴同人本上架/预售通知. 可以用来抢本子.

    源码在 https://github.com/Answeror/torabot
    抱歉文档还没写.
    模块间是相对独立的. 添加模块是比较方便的事情, 需要做的是:

    1. 定义scrapy规则.
    2. 定义更新规则(即用于表示目标页面的json结构发生了怎样的变化需要触发通知).
    3. 渲染规则(包括web view和email view两种), 用于将json结构转化为人类可读的形式.

    计划下一步添加danbooru, yande.re等image board, 以及exhentai.
    现在模块的接口基本固定下来了. 感兴趣的同学可以阅读 torabot/mods 下的源码. 欢迎fork.
    第 1 条附言  ·  2014-05-12 01:50:20 +08:00
    谢谢各位的支持, 尤其是 @unnya 给了我许多宝贵的建议. 谢谢!
    系统已经升级到 0.3.3 版, 补充了基本的文档, 交互式教程和多邮箱支持.
    域名换成了 http://torabot.com 原来的 http://torabot.aip.io 仍然可用.
    如果各位有需要添加的模块, 可以在github上开个issue, 描述清楚需要怎样的功能.

    最近在gurudigger上发现一个两年前的idea: http://gurudigger.com/ideas/256/
    虽然看起来不太现实, 但对于我等懒人来说, 毕竟是个美好的愿景. 愿torabot能够称为一个好的开端.

    懒惰是科技进步的动力.
    愿诸君玩得开心 :)
    第 2 条附言  ·  2014-06-15 01:48:32 +08:00
    诸君, e-hentai订阅上线了!
    http://torabot.com/help/ehentai

    经过1.5个月的时间, 0.4.0版上线了. 用户121人(其中包含我的若干测试用小号), 活跃查询173条.
    当初许诺的3个模块, yande.re, danbooru, e-hentai均已上线(exhentai包含国外法律禁止的东西, 暂时不会添加). 另外还加入了feed订阅, 可以订阅v2ex, github的notification之类的.
    从google analysis的报表来看, v2ex带来的访客最多, 甚至高过了G+一倍. 难道v2ex才是绅士的聚集地吗...
    总之感谢各位的支持 :)

    附我昨天设计的logo一枚: (不准说它像RSS >_< )

    http://torabot.com/main/static/images/torabot.png
    61 条回复    2017-02-03 21:54:56 +08:00
    kxxoling
        1
    kxxoling  
       2014-05-01 19:44:17 +08:00
    R18!!!
    kxxoling
        2
    kxxoling  
       2014-05-01 19:46:59 +08:00
    实现方式是爬RSS+web hook吗?
    answeror
        3
    answeror  
    OP
       2014-05-01 19:49:34 +08:00
    @kxxoling 不同的模块有不同的爬法. 虎穴是直接爬网页; B站爬json api; Pixiv爬网页和json api. 后台做定时页面抓取.
    answeror
        4
    answeror  
    OP
       2014-05-01 19:54:23 +08:00
    @kxxoling 看了下FAQ, 没找到禁止R18的条目... 嘛, 只是做通知, 并不做代理或者下载什么的... 不过最近风声紧, exhentai订阅可能得推迟上限了.
    kxxoling
        5
    kxxoling  
       2014-05-01 20:16:00 +08:00
    @answeror 哈哈。要是有架构图的话打算看看源代码然后fork,不然看代码可能比较痛苦。
    Ralph
        6
    Ralph  
       2014-05-01 20:57:38 +08:00   ❤️ 1
    登录不了
    answeror
        7
    answeror  
    OP
       2014-05-01 21:18:11 +08:00
    @Ralph 感谢反馈, 已修复 :)
    alexapollo
        8
    alexapollo  
       2014-05-01 21:20:22 +08:00
    answeror
        9
    answeror  
    OP
       2014-05-01 21:26:10 +08:00
    @alexapollo 延伸是啥意思, 把连接link进这个主题吗? 的确我这个站点就是做这个的... 针对异构的页面做定时抓取的通知. 下一步把优酷加进去好了 :)
    alexapollo
        10
    alexapollo  
       2014-05-01 21:34:05 +08:00
    @answeror 嗯,我和我的几个好友都想过这个idea,觉得挺有前景的,美剧什么的你也可以加啊,人人影视有RSS源
    answeror
        11
    answeror  
    OP
       2014-05-01 23:01:16 +08:00   ❤️ 1
    dongcheng
        12
    dongcheng  
       2014-05-01 23:11:07 +08:00
    不错!学习
    alexapollo
        13
    alexapollo  
       2014-05-01 23:55:54 +08:00
    @answeror 好玩意。有考虑做资源整合吗?
    answeror
        14
    answeror  
    OP
       2014-05-02 00:26:47 +08:00
    @alexapollo 之前做过一个image board的整合项目: https://github.com/Answeror/aip 这个项目已经死了, 当时因为数据库写搓了, 图片上20w张之后巨慢无比... 写torabot的其中一个目的是为了支持aip的第二版. 这次的计划是把"更新通知"的逻辑从"资源整合"里分离出来. 不过番剧什么的聚合(比如导入bgm.t上正在追的番, 然后自动订阅B站对应条目, 或者ktxp的种子资源)需要人工处理, 暂时没有考虑(设想过让google搜索来帮我做别名这个环节). 图片聚合是相对简单的, 特别是image board, 都有md5.
    RIcter
        15
    RIcter  
       2014-05-02 07:25:14 +08:00 via iPad
    bilibili不能搜索?
    啊啊啊完全不想做新番提醒了没亮点啊QAQ
    Akiyori
        16
    Akiyori  
       2014-05-02 08:39:56 +08:00   ❤️ 1
    原来Pixiv不支持直接输入画师名字么..QAQ..话说回来会直接这样呢
    出错了. 错误编号 b4d2cf5c-f682-41ab-a672-16963decdeca . 你可以提交该编号给 , 协助改进torabot.
    alexapollo
        17
    alexapollo  
       2014-05-02 09:33:41 +08:00
    @answeror 看了下aip的数据库,sqlalchemy制约了性能?还是你tag的三个fk消耗太大了?
    answeror
        18
    answeror  
    OP
       2014-05-02 10:22:22 +08:00
    @alexapollo 做过初步的sql explain, 主要是tag的问题. 试过改用postgresql的array做tag会好很多. 另一方面是内存不足. 当时用的rqworker做后台任务, 每个task一个进程, 内存吃不消. 现在改用celery了.
    answeror
        19
    answeror  
    OP
       2014-05-02 10:35:45 +08:00
    @Akiyori 感谢反馈! 错误信息里的提交邮箱已加上. 嗯, 考虑过直接搜索画师名字, 但是反馈界面没有想好. 你是希望在搜索画师名字(并且名字没有完全匹配)之后有一个怎样的反馈? 我大概列出下面几个方案:

    1. 列出P站所有搜索结果, 然后你可以点进去其中一个进行订阅.
    2. 返回错误页面说画师名字没有完全匹配.
    3. 在输入的时候动态提示匹配的画师名字, 然后进行方案2.
    answeror
        20
    answeror  
    OP
       2014-05-02 11:13:18 +08:00
    @RIcter 嗯, 把文档补充好再加进去好了. 我打算做个新功能投票页面, 正在研究如何防spam. 刚刚去搜了下"新番订阅", 发现了这个: http://www.douban.com/note/300732894/ 看起来好伤心. 我现在也遇到这种情况, 虽然当初是给被人做的虎穴抢本子工具, 但是对方没怎么用, 到头来只有我一个人用得不亦乐乎... 1k用户感觉好棒, 暑假前torabot用户能上百我就谢天谢地了 :P 话说你的"新番订阅"似乎是人工维护内容的? 这个方法个人不是很看好, 诚如豆瓣那篇文章所说, 新番这种东西, 很多时候放送时间并不固定, 人工维护太蛋疼... 依托bgm.tv和B站做自动抓取可能会更好.

    PS: "新番订阅"的邮件提醒开关哪边是开?
    Akiyori
        21
    Akiyori  
       2014-05-02 11:41:32 +08:00
    @answeror 各人还是希望没有匹配了..列
    出所有结果是作品还是画师?
    answeror
        22
    answeror  
    OP
       2014-05-02 12:08:29 +08:00 via iPhone
    @Akiyori 你的意思是方案2? 方案1列出所有画师.
    Akiyori
        23
    Akiyori  
       2014-05-02 13:17:02 +08:00   ❤️ 1
    @answeror 那我个人推荐直接无结果
    pixiv有无api列出热门画师?
    倒是可以做一个 [没有找到您所需要的画师,但请参考下面几位热门画师_(:з」∠)_] (不会表述)之类的呢~
    answeror
        24
    answeror  
    OP
       2014-05-02 21:47:03 +08:00
    RIcter
        25
    RIcter  
       2014-05-03 00:35:46 +08:00 via iPad
    @answeror 并不是人工,一个cron跑更新。。。明显蓝色是开QAQ
    Akiyori
        26
    Akiyori  
       2014-05-04 02:47:39 +08:00
    @answeror

    相关画师是怎么计算的?
    假如我搜索lin+ 手滑打了ling+
    就啥都没了
    answeror
        27
    answeror  
    OP
       2014-05-04 09:30:07 +08:00
    unnya
        28
    unnya  
       2014-05-04 15:01:02 +08:00
    我很喜欢你的作品。但是它有一些问题。
    从产品上讲,这个作品虽然思路不错,不过设计上有些问题让人摸不到头脑。


    1.首页轮播图的定位不明确
    登录后首页上方自带的那个轮播图一开始给我一种滑动一段时间就可以关掉的感觉,但是实际上我滑动了半天也没有成功的把它关掉,后来才发现这是关不掉的。
    修改建议:修改轮播图的宽度为现在的一半左右,然后再右上角加入关闭(隐藏)按钮。
    吐槽:这个灰色好丑……

    2.让人怀疑这个功能是坏掉了
    下面的这个对话框的设置也让我以为他具有功能,但是实际上并不是这样。

    这两个问题会直接导致刚进来的人不知道这东西如何使用,甚至以为这是坏的。
    修改建议:使用线条围住这个部分,让它看上去就知道这是个说明。

    ↑随便做了一下,这样看起来就比较明确了。

    3.“开始使用”?
    如果你的首页定位就是让人知道如何使用这个产品,那么应该在下方有一个明确的按钮告诉用户教程已经结束,点击这个按钮进入实际使用过程。但是你的这个设计缺乏了这个关键帧。

    4.隐蔽的登录
    一般网站的页面都会在登录后显示用户名,点击进入账户操作等等。这已经形成了行为惯性,但是你的设计跳过了这点,只有一个“登出”按钮,让人不禁怀疑“我真的登陆了吗?”

    5.引导失败
    看了你在首页写的教程,已然不知道应该如何使用这个产品。我觉得我的智商应该不低于一般水平,而且设计产品的时候必须设想你的用户都是傻子。结论就是,你的引导是个失败的引导。

    由于只看了一眼,页面设计上的问题就看到了这么多,再来说说功能上的问题。


    1.分邮箱定时投递。
    你可能也会想到这种问题:我的某一个邮箱只想收到其中的一种或几种订阅。比如,你可能希望上班的时候也能看到pixiv的今日精选推送,但是绝对不希望收到一份e-hentai自己订阅列表的更新,尤其在你的女上司坐在你后面的时候。因此,我觉得你需要考虑让一个账号绑定多个邮箱,同时可以对推送的时间,指定邮箱进行推送。

    2.垃圾邮件?
    你没有设置邮箱验证功能,这可能是一个让你的网站编程垃圾邮件源头的隐患。

    3.入口太少
    “我”几乎不知道应该如何添加新的订阅。你应该考虑在http://torabot.aip.io/watches这个页面下方添加一个“立即添加新的订阅”的按钮。

    4.发现新的订阅
    分析一下你的用户的属性,会用这样一个工具的人无非只是抱着一种心情——懒。懒得去天天看,懒得去找新的。但是由于你手中有这样的数据,当两个人的订阅列表很相似(当然,你也可以考虑使用其他算法,比如引入tag系统)你就可以向他们推送这些内容以提升用户粘性。对于一些功能缺失网站(比如e-hentai,e-hentai以及e-hentai等)这个功能是十分有用的。

    本帖已follow,期待楼主更新。
    unnya
        29
    unnya  
       2014-05-04 15:02:22 +08:00
    此外再加一句,我个人不喜欢宋体,如果你不懂字体组合的话,可以尝试微软雅黑+Arial的组合……
    unnya
        30
    unnya  
       2014-05-04 15:16:23 +08:00
    然后,实际使用了一下还发现了一个严重的问题:你摆在“搜索”按钮旁边的等登出,很容易让人手滑以为是搜索然后就不小心登出出去了。这是用户习惯……
    answeror
        31
    answeror  
    OP
       2014-05-04 16:26:10 +08:00
    @unnya 非常感谢你的建议! 设计上的问题1~4, 功能问题1~3, 登出按钮位置问题, 已经加入issue list: https://github.com/Answeror/torabot/issues
    设计问题5我得再想想(刚才我左边的同学跟你说了一样的话 bgm38), 期待你给出更多的建议 :)
    功能问题1的定时投递我还没想好怎么实现, 多邮箱已经列上issue list了.
    功能问题4是我一直想做的, 但是短期内可能不会上线. 对于内置标签系统的站点, 实现起来似乎不是很困难, 我会先拿pixiv试试.
    字体问题我需要再研究下, 暂时就用你的方案好了.

    PS: 只会码代码, 不懂设计, 非常希望大家可以参与进来一起改进torabot :)
    answeror
        32
    answeror  
    OP
       2014-05-04 16:36:27 +08:00
    @unnya 针对设计问题5, 我打算做成interactive tutorial, 像这里: http://www.perber.com/
    unnya
        33
    unnya  
       2014-05-04 16:51:02 +08:00
    @answeror 真巧,我是稍微懂一点设计和UI,以及少量的用户心理学XD
    等下班了好好看一下这个作品
    ps:你最后列出的那个效果很cool
    answeror
        34
    answeror  
    OP
       2014-05-04 16:51:15 +08:00
    @unnya torabot的模块可能会越来越多, 放在一个下拉菜单里我觉得不现实. 我的计划是根据模块热度默认只显示几个模块, 用户可以在用户设置里设置常用模块. 这样不同人群可以各取所需. 或者直接用子域名来决定默认模块, 比如3d.aip.io默认显示一些三次元相关的模块.
    另外我想允许用户自定义python脚本, 然后在沙盒里运行: https://github.com/Answeror/torabot/issues/8 这样一方面可以方便用户定义一些个性化的查询, 另一方面通过统计自定义模块访问的域名, 可以决定待实现的模块的优先级.
    unnya
        35
    unnya  
       2014-05-04 17:09:36 +08:00
    @answeror 这需要你去先去明确你产品的定位以及目标人群。
    比如,如果torabot的产品定位就是给 [二次元] 人群一个方便的订阅工具的话,那三次元的订阅功能只可能处于次要位置。这里一个很典型的失败例子就是微信的朋友圈。微信最初的产品定位是小圈子强关系交流工具,但是现在朋友圈处于一个喧宾夺主的地位,而且在上面的关系营销也在不断的拉低微信用户的活跃度。强迫的把所有的需求都塞在一个项目里并不是好事,例如现在的人人网,如果最开始就专注做校园不做广泛社交媒体的话也许不会混的现在这么惨。
    对此,我觉得如果做成“二次元版”和“三次元版”可能更加合适。两种版本可以通过一键切换,就如同一个人拥有多种身份。
    对于模块的展现,在guide流程里我觉得你可以参考zhihu.com的注册流程(这个流程还算不错),而已经加入的人,应该都有明确的知道“自己想要的是什么”而进行的特定搜索。
    至于自定义脚本,由于这个东西对用户和服务器都存在一定的危险性,所以我几乎没有看到大型网站开通的。此外,也是由于用户大部分都不会使用(不是don't use it而是can't use it),所以我的建议是可以实现,然后白名单人工审核这样。如果有需要就去申请。
    answeror
        36
    answeror  
    OP
       2014-05-05 02:23:49 +08:00
    @unnya v0.2.2 加入了1分钟交互式教程; 改进了登录提示和登出按钮位置.
    unnya
        37
    unnya  
       2014-05-05 14:44:02 +08:00
    @answeror 刚刚收到了一个邮件,结果在firefox里显示有bug
    answeror
        38
    answeror  
    OP
       2014-05-05 19:14:01 +08:00
    @unnya 你用的什么邮箱(客户端)? 我在windows的firefox里, 同样的邮件(嗯, 大家都是绅士), hotmail和gmail没有问题.
    answeror
        39
    answeror  
    OP
       2014-05-05 22:50:39 +08:00
    answeror
        40
    answeror  
    OP
       2014-05-05 22:51:23 +08:00
    @unnya http://www.v2ex.com/t/110788#reply29 于是照搬了v2ex的字体 :P
    9yu
        41
    9yu  
       2014-05-06 23:01:15 +08:00
    已收藏
    soruNis
        42
    soruNis  
       2014-05-07 11:32:38 +08:00
    能否订阅RSS呢? 比如这个: http://kickass.to/usearch/fargo/?rss=1
    answeror
        43
    answeror  
    OP
       2014-05-07 12:45:18 +08:00
    @soruNis 你可以在 https://github.com/Answeror/torabot/issues 提交一个enhancement issue, 我会按优先级逐个实现这些enhancement. Torabot本身有一个人人影视的样例模块, 用的RSS源, 如果你熟悉Python开发, 不妨加入进来 :) 参考: https://github.com/Answeror/torabot/tree/dev/torabot/mods/yyets
    answeror
        44
    answeror  
    OP
       2014-05-10 01:54:39 +08:00
    lliioogg
        45
    lliioogg  
       2014-05-12 08:56:26 +08:00
    已收藏。下班有空有一大波站点的模块想添加233
    answeror
        46
    answeror  
    OP
       2014-05-14 22:47:05 +08:00
    ver 0.3.4: 加入了yande.re模块.
    answeror
        47
    answeror  
    OP
       2014-05-21 23:21:47 +08:00
    测试v2ex通知更新: http://torabot.com/help/feed
    Akiyori
        48
    Akiyori  
       2014-06-15 05:31:38 +08:00
    Logo好赞
    answeror
        49
    answeror  
    OP
       2014-06-15 12:32:19 +08:00
    @Akiyori 谢谢 (*^ ^*)

    之前发的图显示不了, 这里补充一个imgur的:
    laincat
        50
    laincat  
       2014-06-25 10:43:27 +08:00
    jaxihjk
        51
    jaxihjk  
       2014-07-16 01:21:33 +08:00
    好多 js 库,建议 uglify 一下
    9yu
        52
    9yu  
       2014-08-19 01:35:53 +08:00
    希望加入 exhentai 订阅
    answeror
        53
    answeror  
    OP
       2014-08-19 12:33:50 +08:00
    @9yu 不是已经有e-hentai订阅了嘛... 要注册以后才能看见.
    9yu
        54
    9yu  
       2014-08-19 13:23:59 +08:00
    @answeror exhentai 里的很多本子 e-hentai 上是没有的,例如一些带 lolicon tag的
    9yu
        55
    9yu  
       2014-08-19 13:30:35 +08:00
    @answeror 话说在右下角看到了 loli.com ...
    answeror
        56
    answeror  
    OP
       2014-08-19 14:19:24 +08:00
    @9yu lolicon在许多国家是违法的呢... exhentai的sad panda一定程度上保护了这个站点, 我不想做一些危害它的事情. 当然这并不能阻止你手工调教torabot... 比如你可以用类似 https://gist.github.com/34fd6a535090ca85a2fc 的脚本自定义torabot的抓取规则, 给exhentai生成atom feed, 然后订阅它.
    0.5.0版开始我会陆续公布一些自定义脚本的文档.
    answeror
        57
    answeror  
    OP
       2014-08-19 14:23:48 +08:00
    @9yu 后面可能会和 loli.com 合作, 作为它的更新通知工具. 他们借了我一个域名 rss.loli.com . 嘛... 我还是最喜欢 rss.moe 啦.
    9yu
        58
    9yu  
       2014-08-19 15:01:48 +08:00
    @answeror 明白了 O(∩_∩)O谢谢
    geew
        59
    geew  
       2014-12-09 10:51:29 +08:00
    @answeror loli.com 是什么网站 还没开发完?
    answeror
        60
    answeror  
    OP
       2014-12-09 11:04:51 +08:00
    @geew 之前有联系过 loli.com 团队, 他们似乎要做一个acg的综合平台, 打算把torabot作为他们的订阅系统. 他们那边不知道进展怎么样了, 于是目前只挂了个友链. 代价是 rss.loli.com 这个域名. 不过貌似现在已经解析不出了...
    402645707
        61
    402645707  
       2017-02-03 21:54:56 +08:00
    当年刚来 v2 时把这个扔进了收藏夹
    然而现在已翻车
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1050 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:37 · PVG 03:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.