前言
最近迷上了精灵宝可梦新无印(下称“新无印”),每时每刻都等待着新无印更新(虽然是周更)。我可不想错过字幕组的成功,一定要第一时间看到新无印啊!
找接口
想要获取字幕组的视频,一定要找到字幕组发布的平台,在新无印在某视频网站上有热心网友转载新无印熟肉,有经验的人都知道,字幕组会在视频内留下版权声明,所以我们知道打开视频观看并找到这段版权声明就行了。(如下图)
这个视频内梦幻恋樱字幕组在视频里留下了网址,所以梦幻恋樱字幕组的平台就是它的官网了。我们进入官网一探究竟,进入官网不难发现,官方已经把更新的内容全部集合了起来。(如下图)
官方会在这里定时更新我们只要获取这个页面的HTML代码并处理就可以了。
下面要找的是枫叶字幕组,枫叶字幕组制作简体与繁体的视频,在视频中并没有找到类似与平台网址之类的链接。
通过百度百科也没有详细的记录,微信公众号也没有枫叶字幕组。通过百度贴吧的官方人员可以得知,枫叶字幕组在微博上上传BT与视频。然而微博获取十分麻烦,又经过好久,我发现了Mikan上第一时间收集了枫叶字幕组发布的种子(如下图)
开始抓包并点击右下角的“显示更多”
看一下抓包数据,
可以看到 POST 到了 https://mikanani.me/Home/ExpandEpisodeTable 地址,里面获取了所有的枫叶字幕组的制作内容。
解决输出文字颜色问题
我的使用的是Windows10 Python3的但是由于Python自带的输出颜色无法在Windows控制台正常显示颜色,经过百度,我得知了一个kernel32 DLL的函数 SetConsoleTextAttribute ,这个函数主要用于设置控制台窗口字体颜色和背景色的计算机函数。Python代码参考Windows提示命令符Python颜色输出
理清思路
我的思路是通过Python的requests模块,进行GET梦幻恋樱字幕组官网与POST Mikan官网。再进行文本处理(寻找指定文本),如果存在发邮件给用户,不存在跳过。
接下来就是处理邮件发送的问题了,我们用到smtplib模块(用于发信),email.utils与email.mime.text(用于构造邮件),下面就是一个简单发信代码。
随意找到一份邮件并查看原文
如果配置正确应该收到邮件如下:
获取更新列表
梦幻恋樱字幕组:首先我们要分析网页代码,在官方页面下“查看网页源代码”,我们找到精灵宝可梦新无印列表起始的位置。
已经发布的会使用如下格式:
第X話:< a href=“http://mengcity.com/forum.php?mod=viewthread&tid=1754"target=”_blank">已發佈< /a>< br />
没有发布如下:
第X話:< font color=“Red”>X月X日 X時放送</ font>< br />
比如我们要检测的剧集为19话,我们只要寻找是否有
“第19話:< a href=“http://mengcity.com/forum.php?mod=viewthread&tid=1754"target=”_blank">已發佈</ a>< br />”
就可以了
看如下代码:
使用 requests.get() 获取网页代码,然后我将精灵宝可梦新无印的列表取出,再寻找文本,有人就想问了,为什么不直接寻找?因为我打算把剧集列表发送到邮箱里。
现在我们来获取Mikan的枫叶字幕组,
使用 requests.post() 并提交表单,直接将列表获取过来了。那就更简单了,只是需要注意一个点,Mikan的剧集罗列为0XX,在前面会有一个0,所以要进行判断,进行添加操作。
发邮件的问题
在一些电脑里并没有装指定的插件,可能会出现发送邮件失败的地方,所以为此我搭建了一个网站接口,只要POST这个网址即可
Addressee收件人 Theme主题 Text正文 SmtpServer发信主机 SmtpPort发信主机端口 SmtpEmail发送人员 SmtpUsername发信主机用户名 SmtpPassowrd发信主机用户名密码 TYPE邮件格式
然后看看现实的演示吧。
下载链接:https://ysdmmxw.coding.net/api/share/download/6f1ecc9b-0138-47b1-a558-efe2fa4b6427
程序我已经挂到了云电脑,实时提醒,留下邮箱(我会考虑把最新更新发给你哦!)
独家视频演示:
VIDEO AREA
(*^▽^*)ノ这个是视频,请点击这里加载视频