|
本帖最后由 zhengxinhn 于 2017-7-15 19:03 编辑
直接贴代码吧,复制代码保存为 rss.sh 之类的,然后Crontab 里做个每隔30分钟运行 rss.sh 就好了。
transmission里有3条关键配置。
- "trash-original-torrent-files": true,
- "watch-dir": "/mnt/transmission/watch",
- watch-dir-enabled": true
复制代码
过滤是根据资源的title 也就是标题中是否包含指定关键词。
- #! /bin/bash
- yes(){
- echo " 已下载"
- }
- no(){
- echo " 未下载"
- echo "$1" >>downloaded
- #添加任务 注意watch文件夹的地址,如果不需要https的traker ""$1"&ssl=yes" 改为 "$1"
- wget -O /media/AiDisk_a1/transmission/watch/"$2".torrent ""$1"&ssl=yes"
- }
- #切换到工作目录,自行建立相应文件夹
- cd /media/Ai*/rss
- touch downloaded
- #RSS链接
- rssad= 填写自己生成的 RSS 链接,去除 &ssl=yes
- #关键词要用“|”进行分隔,区分大小写
- keyword="WiKi|TTG|NGB"
- #获取RSS订阅资源
- rm -f rss
- wget -O rss $rssad
- #提取link、title列
- lista=$(grep -B 1 'https://totheglory.im/rssdd.php?par=' rss)
- #按关键词过滤
- listb=$(echo "$lista" | grep -E -A 1 $keyword )
- #提取过滤后的link列并去除多余符号
- listc=$(echo "$listb" | grep 'totheglory' |sed 's#<link>##' |sed 's#</link>##' )
- #获取RSS链接数目
- listnum=$(echo "$listc" | grep -c 'totheglory' )
- echo "一共"$listnum"个种子"
- #比较是否已经下载过该资源
- for i in `seq 1 $listnum`; do
- download=$(echo $listc | cut -d " " -f $i)
- echo -n $i号 $download
- downid=$i
- #downloaded内如果包含则跳转到YES结束 否则跳转到NO开始添加任务
- cat downloaded | grep -q "$download" && yes || no $download $downid
- done
复制代码
|
|