一个监控Instagram,Twitter和Weibo的机器人。
这个项目仅仅是我个人的一个练习,我写这个项目也仅仅是出于我的兴趣。 这个项目只是我用来追星的(笑)。如果这让你感到麻烦,我很抱歉。
它是一个一个监控Instagram,Twitter和Weibo的机器人。换句话说,它是一个爬虫。 每10分钟,作为一个时间间隔,这个程序会运行以检查目标用户是否发了新的帖子或者有新的转发。如果确实有,该程序将会通过酷Q来给你的QQ发送消息。
非常感谢酷Q项目和nonebot模块。
这个项目使用的Python3语言,并且于Windows操作系统上运行。 如果你使用Python2,可能会引起一些问题。 如果你使用Linux操作系统,我很遗憾地告诉你酷Q不能在Linux操作系统上运行。因此,如果你执意要在Linux上运行的话,你可能需要使用Docker。
此外,我使用了很多模块。我对这些项目很感谢。
文档(API):https://cqhttp.cc/docs/4.13/#/
文档:https://nonebot.cqp.moe/guide/scheduler.html
还有很多,真的对这些项目的开发者们感到由衷地感谢!! 真的非常感谢!
只需要克隆这个项目,然后在安装完需要的相关依赖后在cmd下进入项目目录。 使用命令:
python3 bot.py
同时,运行酷Q(exe)并且登录。 就是这样。它会每10分钟运行一次的。
如果遇到其他的问题,请自行修复。(微笑)
我累了。
bot.py是帮助我们和酷Q客户端建立连接的通讯接口。 config.py是初始化bot.py配置的配置文件。 此外,还有一个名字叫awesome的文件夹。名字是瞎起的,请勿喷。 在awesome文件夹下,有一个用于存放用Python写的酷Q插件的文件夹,叫做plugins。打开它,我们会发现一个叫top.py的文件,它是控制插件的顶层文件。我把爬虫文件存放于crawlers文件夹中。或者更准确地说,存放于crawlers包当中了。里面有很多用Python写的插件。
项目结构可以这样表示:
CoolQ
|_ bot.py # 与酷Q通讯
|_ config.py # 配置文件
|_ awesome
|_ plugins
|_ top.py # 顶层文件
|_ Test.py # 这是一个空文件。只是测试用的,现在已经没用了
|_ crawlers
|_ __init__.py
|_ config.json # weibo.py的配置json文件
|_ instagram.py
|_ twitter.py
|_ weibo.py
|_ weibo-yizhibo.py # 微博提供直播功能。这个文件可以解析直播流的真实url地址
魔法。
我只是使用了一些开源的工具来爬取数据,然后在第一次运行项目的时候将它们储存于一个文件。(我使用的是csv文件) 下次运行的时候,程序会在爬虫结束爬取工作之后将爬取的数据与csv文件里最新的一条信息进行比较。一旦在爬取的数据中发现了已存在的数据,程序将会停止比较工作并且将获取到的新信息写入csv文件的顶端。同时,程序会将信息返回给顶层文件,之后,顶层文件会将信息发送到QQ。
这就是这个项目的原理(魔法)。
项目中有大量的异常处理。我甚至对某些工具使用了超时异常处理和重试处理。 所有的和文件以及文件夹相关的操作也都足够健壮(也许吧)。
只是有一件事我不得不提。我使用的一些模块中有大量的坑和bug。我发现它们,并且修复了它们。我真的从中学到了很多。 还有,这着实花了我很长时间。
S.H.I.T
我写的代码烂透了。