AutoAnimeMV-Teams / AutoAnimeMv

😊这是一个番剧自动识别剧名剧集+自动重命名+自动整理工具,用来配合QBittorrent实现Rss订阅下载全自动刮削一条龙到家式爽歪歪服务!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

脚本已适配Windows(x

wzfdgh opened this issue · comments

commented

先贴个代码awa

# -*- coding: utf-8 -*-
from sys import argv
from os import system
from time import sleep
from re import findall, search, sub, I


def TitleMatch(VideoName):
    Season = '01'
    SubtitleGroupDate = ['字幕', 'Raws', 'sub', '汉化', '搬运', '月新番', 'Airota', 'Comicat', 'DMHY', 'NC-Raws', 'ANi',
                         'LoliHouse', 'Sakurato', 'TSDM', 'LoveEcho', 'EMe', 'Sakura', 'SweetSub', 'AHU-SUB',
                         'VCB-Studio', 'GM-Team',
                         'MingY', 'cc动漫', '推しの子', '喵萌奶茶屋', '天月搬运组', '萝莉社活动室', '千夏生活向上委员会', '酷漫404',
                         '拨雪寻春', '霜庭云花Sub', 'FSD炸鸽社', '雪飘工作室', '丸子家族', '驯兽师联盟', '肥猫压制', '离谱', '虹咲学园烤肉同好会',
                         'AQUA工作室', '晨曦制作', '夜莺家族', 'Liella!の烧烤摊']

    FirstIntKeyWord = ['仅限港澳台地区']

    import os
    filename, extension = os.path.splitext(VideoName)
    FileType = extension
    VideoName = sub(r',|,| ', '-', VideoName, flags=I)
    VideoName = sub(r'[^A-Za-z0-9_s&/-u4e00-u9fa5]', '=', VideoName, flags=I)

    Episodes = findall(r'[^0-9a-z\u4e00-\u9fa5][0-2]{1}[0-9]{1}[^0-9\u4e00-\u9fa5]',VideoName,flags=I)[0].strip(" =-_eE")

    VideoName = sub(r'%s.*' % Episodes, '', VideoName, flags=I)

    for i in range(len(FirstIntKeyWord)):
        VideoName = sub(r'%s' % FirstIntKeyWord[i], '', VideoName, flags=I)
    for i in range(len(SubtitleGroupDate)):
        VideoName = sub(r'=.*?%s.*?=' % SubtitleGroupDate[i], '', VideoName, flags=I)
    VideoName = VideoName.replace('=', '').replace(' ', '').strip('-')
    
    if ('/' in VideoName) == True:
        VideoName = VideoName.split("/", 1)
        if VideoName[1].replace('-', '').isalnum() == True:
            if search(r'[0-9]{0,1}[0-9]{1}S', VideoName[1][::-1], flags=I) != None:
                Season = search(r'[0-9]{0,1}[0-9]{1}S',VideoName[1][::-1],flags=I).group(0)[::-1]
                TrueVideoName = VideoName[1].strip(Season)
                Season = search(r'[0-9]{0,1}[0-9]{1}S',VideoName[1][::-1],flags=I).group(0)[::-1].strip('Ss')
    elif search(r'季.*?第|[0-9]{0,1}[0-9]{1}S',VideoName[::-1],flags=I) != None:
        Season = search(r'(季.*?第|[0-9]{0,1}[0-9]{1}S)',VideoName[::-1],flags=I).group(0)[::-1]
        TrueVideoName = VideoName.strip(Season)
        Season = search(r'(季.*?第|[0-9]{0,1}[0-9]{1}S)',VideoName[::-1],flags=I).group(0)[::-1].strip('第季Ss')
        if Season.isdigit() == True:
            pass
        else:
            digit = {'一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9}
            Season = digit[Season]
    else:
        TrueVideoName = VideoName

    TrueVideoName = TrueVideoName.strip('-')
    return Season,Episodes,TrueVideoName,FileType

def GetArgv():
    SavePath,VideoName = argv[1],argv[2]
    return SavePath,VideoName

def AutoMv(SavePath,VideoName,Season,Episodes,VideoTrueName,FileType):
    NewName = f"S{Season}E{Episodes}{FileType}"
    NewVideoDir = f"{VideoTrueName}\S01"
    system(f'mkdir {SavePath}\{NewVideoDir}')
    sleep(2)
    system(f'move "{SavePath}\{VideoName}"  "{SavePath}\{NewVideoDir}\{NewName}"')

def Test(test):
    return TitleMatch(test)

if __name__ == "__main__":
   SavePath,VideoName = GetArgv()
   Season,Episodes,VideoTrueName,FileType = TitleMatch(VideoName)
   AutoMv(SavePath,VideoName,Season,Episodes,VideoTrueName,FileType)

使用Python x64 3.11.3

修改如下:

  1. 删除动漫分类
  2. 适配RSS多文件夹下载(输出改为为 下载目录\S01\S01Exx.xxx)
  3. 优化Windows下FileType判断逻辑
  4. 优化移动文件逻辑
  5. etc.
commented
  • 可以可以,我的鬼画符code你居然能看懂,有兴趣提PR的话,你就再多写个识别操作系统的函数,分类功能就改成可选
  • 对了,要提PR的话请交到dev分支,我之后好整合格式化一下
commented

我改完了你都没回我😰

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w

还有什么需要改动的地方吗

  • 你可以去main分支看看最新版code满不满意
  • 有几个想开发的功能和遇到的一些难题,我讲一下,有兴趣的话可以一起实现下

    1.现在这个工具只能认一般规范一点的剧集和剧季,但总有些番剧集有特典,剧季名称是xx季是别名的😩这么复杂TMDB它不认就很头痛,现在有一个天大的脑洞就是给ai来认🫠,其实我是想做个整理数据查询数据库的
    2.现在剧集的判断也很武断,为了分别年份数据和剧集,我直接砍掉超多剧集的支持,现在上限我设置的是29集
    etc 不早了,先sleep保住小命(x

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么
commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x

剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行

剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x

剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行

剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧
commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x

剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行

剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x

剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行

剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不

  • 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰
commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不

  • 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰

话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....

commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不

  • 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰

话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....

  • 不在,你可以单独开个新群,在别人项目群好像不大好
commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不

  • 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰

话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....

  • 不在,你可以单独开个新群,在别人项目群好像不大好

看看pr,话说那个进群的是你不

commented
  • 你就是新群的管理了,在群里摸摸鱼(x
  • 那个PR你关了吧,我找个好看的emj,或者你找了个好看的再提
commented

我改完了你都没回我😰

哈哈不好意思,才看到(w
操作系统识别我有时间看下,应该不会太久
之后我就提交到dev分支

  • 操作系统识别那个我已经实现了
  • 😰😰你可以回一下我的回复么

来了来了,昨天沉迷看隧道无法自拔(x
剧集别名...比如刀剑那样的?
这样的话丢给ai也不保证出来的数据可信 经典问题:父亲和母亲能结婚吗(划掉划掉
数据库到是可以做一下,拿现成的(TMDB / bangumi)也不是不行
剧集判断我在想要不要直接把torrent信息对比,云端直接下发
但牵扯PT无法使用 / 小众资源无法处理的情况

  • Autobangumi那个源码我还没看,不知道咋处理的
  • 但那个TMDB,如果我本地塞了个TMDB会不会违背了轻量化的初衷,在线API的话TMDB的识别就很阴间,所以我的想法是写个别名库,就想我写的那个字幕组名单一样,然后远程下发

我现在就去看一下Autobangumi怎么搞的,有种在重新写轮子的感觉了

  • 剧集那个,我想了一下还是好好写个识别日期的函数吧

已经在看了
PS:剧集信息为什么会有年份(w

  • 我也不知道,但就是有

Screenshot_20230528-123159_GitHub.png

  • 有些还有几月新番,什么的干扰信息,之前老版本也可以认的,新的版本改了个省力的正则识别就不能认了

Screenshot_20230528-123215_GitHub.png

几月新番之后直接屏蔽 日期匹配我原来写过 改改看能用不

  • 在写了在写了,估计马上就更了,这几天用的人多了,版本迭代更新了好多个版本😰😰😰

话说你在Autobangumi交流群里不,github不经常看,有时候会漏看()
*正在改readme ing....

  • 不在,你可以单独开个新群,在别人项目群好像不大好

看看pr,话说那个进群的是你不

  • 对的对的
commented
  • 你就是新群的管理了,在群里摸摸鱼(x
  • 那个PR你关了吧,我找个好看的emj,或者你找了个好看的再提

btw 那个网站推荐还是去掉好 毕竟这东西还是继续待在灰黑地带比较安全

commented
  • 你就是新群的管理了,在群里摸摸鱼(x
  • 那个PR你关了吧,我找个好看的emj,或者你找了个好看的再提

btw 那个网站推荐还是去掉好 毕竟这东西还是继续待在灰黑地带比较安全

  • 行吧,你放到群里去😰