用Python获取最新精灵宝可梦新无印熟肉

前言

最近迷上了精灵宝可梦新无印(下称“新无印”),每时每刻都等待着新无印更新(虽然是周更)。我可不想错过字幕组的成功,一定要第一时间看到新无印啊!

找接口

想要获取字幕组的视频,一定要找到字幕组发布的平台,在新无印在某视频网站上有热心网友转载新无印熟肉,有经验的人都知道,字幕组会在视频内留下版权声明,所以我们知道打开视频观看并找到这段版权声明就行了。(如下图)

在这里插入图片描述
这个视频内梦幻恋樱字幕组在视频里留下了网址,所以梦幻恋樱字幕组的平台就是它的官网了。我们进入官网一探究竟,进入官网不难发现,官方已经把更新的内容全部集合了起来。(如下图)
在这里插入图片描述
官方会在这里定时更新我们只要获取这个页面的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

程序我已经挂到了云电脑,实时提醒,留下邮箱(我会考虑把最新更新发给你哦!)

 

独家视频演示:

发表评论 (0)

后再参与讨论