小白依靠 GPT4 生成 PowerShell 按文件名筛选出国语影视种子

115 天前
 huntagain2008

最近常用的公共影视资源网站关闭,迁移到一个新网站,结果丢失了很多资源。我偶然发现有人发了十几个名为“老种子 xx”的帖子,上传了几十个 20 MiB 的 .rar 压缩文件(由于附件大小限制)。我一个个下载下来,虽然是老种子,但用网盘离线下载还是可行的。现在的问题是,我想找出国语音频的作品,该怎么筛选出国语音轨的种子列表。针对这个问题,我问了免费的 GPT4 。它直接帮我写 PowerShell 脚本:

# 获取当前目录下的所有 .rar 文件
$rarFiles = Get-ChildItem -Path . -Filter *.rar

# 存储符合条件的 .torrent 文件的信息
$matchingTorrents = @()

# 正则表达式模式
$pattern = "Mandarin|CHS|CHINESE"

# 遍历所有 .rar 文件
foreach ($rarFile in $rarFiles) {
    # 解压 .rar 文件并列出其内容
    $contents = & 7z l $rarFile.FullName
    
    # 从内容中查找 .torrent 文件
    $torrentFiles = $contents | Where-Object { $_ -match ".torrent" }
    
    # 查找文件名符合模式的 .torrent 文件
    foreach ($line in $torrentFiles) {
        if ($line -match $pattern) {
            # 直接使用文件路径信息(原先 GPT4 给的-replace ".*(\d{2}-\d{2}).* ", "")
            $filePath = $line

            # 创建一个对象存储 .rar 文件名和 .torrent 文件路径
            $torrentInfo = [PSCustomObject]@{
                RarFile = $rarFile.FullName
                TorrentFile = $filePath
            }

            # 将对象添加到匹配列表中
            $matchingTorrents += $torrentInfo
        }
    }
}

# 输出匹配的 .torrent 文件信息
$matchingTorrents | Format-Table -AutoSize

运行脚本

将上述脚本保存为一个 PowerShell 文件,例如search_torrents_with_paths.ps1,然后在 PowerShell 中执行脚本:

.\search_torrents_with_paths.ps1

(我的台式机 Windows10 默认禁止运行脚本,我是在交互式 PowerShell 直接粘贴代码运行的)

后续列表有很多重复数据,为了去重,将文件改名为 .csv 文件并导入 Excel 。我用的是微软在线的免费 Excel ,通过数据功能进行文本拆分、筛选与去重。文件名包含年份,比如 2008 ,可以提取年份数字筛选出 2000 年以后的作品。

关于怎么筛选出豆瓣评分 8 分以上的种子文件,我问过 GPT4 ,通过 Python 的 requests 和使用豆瓣的官方 API 获取数据。因为 GPT4 警告这样做有被封 IP 的风险,我就直接放弃了,只好人工查评分。

990 次点击
所在节点    分享创造
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1056514

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX