a CURD boy's blog.

Jiandan Bot:一个煎蛋爬虫 + telegram bot

2018.04.11

前段时间突然喜欢无聊的时候去煎蛋看看无聊图,可是每天打开浏览器看煎蛋太麻烦(,并且 telegram 现存的一个煎蛋爬虫 channel 只推送热门图片,于是就萌生了写一个爬虫,将所有无聊图发送到我 telegram 的想法。

目前已经写出了基本满足我需求的稳定版本,Github 链接在此

主要结构与内容

  • bot 目录
    • bot.go 主要为bot的初始化设置
    • router.go 为bot接收到命令之后的处理路由
    • send.go 为各种消息的send函数
  • channel 目录
    • channel.go 声明了几个全局 channel,用于供各个模块之间互相传递信息,之前是通过传参的方式将 channel 传到使用的地方,后来发现传参过于繁琐,于是采用全局channel的方式
  • crawler 目录
    • jiandan.go 为煎蛋的爬虫,之前的版本为爬取网页,后来抓取到了 api,于是采用直接请求 api 的方式,(顺带吐槽一下煎蛋的 api,好多明明是纯数字的字段却是string,导致接过来之后还要转换)
  • maker 目录
    • jiandan.go 爬虫将爬到的 json 格式的数据通过 channel 传递给 maker,maker将其处理为telegram bot的格式

配置文件格式

{
    "Token": "YOUR_TOKEN",
    "AdminID": 000000,
    "ChannelID": 000000,
    "ChannelUsername": "@YOUTR_CHANNEL_NAME",
    "ApiAddress": "jandan.net_api"
}