Torabot: 二次元事件通知工具

2014-05-01 19:30:22 +08:00
 answeror
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.
10605 次点击
所在节点    分享创造
61 条回复
kxxoling
2014-05-01 19:44:17 +08:00
R18!!!
kxxoling
2014-05-01 19:46:59 +08:00
实现方式是爬RSS+web hook吗?
answeror
2014-05-01 19:49:34 +08:00
@kxxoling 不同的模块有不同的爬法. 虎穴是直接爬网页; B站爬json api; Pixiv爬网页和json api. 后台做定时页面抓取.
answeror
2014-05-01 19:54:23 +08:00
@kxxoling 看了下FAQ, 没找到禁止R18的条目... 嘛, 只是做通知, 并不做代理或者下载什么的... 不过最近风声紧, exhentai订阅可能得推迟上限了.
kxxoling
2014-05-01 20:16:00 +08:00
@answeror 哈哈。要是有架构图的话打算看看源代码然后fork,不然看代码可能比较痛苦。
Ralph
2014-05-01 20:57:38 +08:00
登录不了
answeror
2014-05-01 21:18:11 +08:00
@Ralph 感谢反馈, 已修复 :)
alexapollo
2014-05-01 21:20:22 +08:00
answeror
2014-05-01 21:26:10 +08:00
@alexapollo 延伸是啥意思, 把连接link进这个主题吗? 的确我这个站点就是做这个的... 针对异构的页面做定时抓取的通知. 下一步把优酷加进去好了 :)
alexapollo
2014-05-01 21:34:05 +08:00
@answeror 嗯,我和我的几个好友都想过这个idea,觉得挺有前景的,美剧什么的你也可以加啊,人人影视有RSS源
answeror
2014-05-01 23:01:16 +08:00
dongcheng
2014-05-01 23:11:07 +08:00
不错!学习
alexapollo
2014-05-01 23:55:54 +08:00
@answeror 好玩意。有考虑做资源整合吗?
answeror
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
2014-05-02 07:25:14 +08:00
bilibili不能搜索?
啊啊啊完全不想做新番提醒了没亮点啊QAQ
Akiyori
2014-05-02 08:39:56 +08:00
原来Pixiv不支持直接输入画师名字么..QAQ..话说回来会直接这样呢
出错了. 错误编号 b4d2cf5c-f682-41ab-a672-16963decdeca . 你可以提交该编号给 , 协助改进torabot.
alexapollo
2014-05-02 09:33:41 +08:00
@answeror 看了下aip的数据库,sqlalchemy制约了性能?还是你tag的三个fk消耗太大了?
answeror
2014-05-02 10:22:22 +08:00
@alexapollo 做过初步的sql explain, 主要是tag的问题. 试过改用postgresql的array做tag会好很多. 另一方面是内存不足. 当时用的rqworker做后台任务, 每个task一个进程, 内存吃不消. 现在改用celery了.
answeror
2014-05-02 10:35:45 +08:00
@Akiyori 感谢反馈! 错误信息里的提交邮箱已加上. 嗯, 考虑过直接搜索画师名字, 但是反馈界面没有想好. 你是希望在搜索画师名字(并且名字没有完全匹配)之后有一个怎样的反馈? 我大概列出下面几个方案:

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

PS: "新番订阅"的邮件提醒开关哪边是开?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/110788

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX