迅雷離線空間已經(jīng)開放到1PB了,總是用不完,手頭上那個100M的種子壓縮包里面東西好多啊,把它塞滿離線空間如何?
這個是一篇教程,適用于所有python環(huán)境,包括Linux, Windows, OSX, routers, NAS boxes,只要有python環(huán)境就可以。(不過搭建python環(huán)境并不是本文的內(nèi)容,本文默認(rèn)您已經(jīng)有python了)
1、工具介紹
我們這次使用的主要是兩個東西
flexget是一個能夠從RSS,HTML頁面,CSV文件,本地目錄等等地方抓取資源,經(jīng)過過濾,然后下載的一套框架。
flexget會自動監(jiān)控追蹤下載過的資源,保證不會被重復(fù)下載,后端可以調(diào)用各種BT,命令來處理這些資源。
flexget對于操作分為三種基本類型:
Inputs
Filters
Outputs
lixian.xunlei是我寫得一個lixian.xunlei.com的python API封裝,本身是為了挖迅雷墻角的,不過本著一物多用的原則,提供了一個flexget的插件,支持作為資源的output向迅雷推送資源,也可以作為input從迅雷取出資源。
2、環(huán)境準(zhǔn)備
介紹完插件,那么就開始動手吧,既然需要工具,那么首先安裝他們。這里以linux環(huán)境為例,不過都是python的工具,你應(yīng)該能很容易在其他的環(huán)境找到對應(yīng)的命令。
1. 安裝flexget
直接從pypi中安裝即可,依賴會自動解決
easy_install flexget
2. 安裝xunlei.lixian
由于暫時還沒有自動安裝腳本,只能手動了。。。首先是依賴
easy_install requests
easy_install pyparsing
easy_install beautifulsoup
然后安裝插件:
下載https://gist.github.com/gists/1476520/download,將文件解壓到 ~/.flexget/plugins 文件文件夾中(若文件夾不存在,創(chuàng)建一個)
注意:解壓出來帶了一層gist********的目錄,請將文件從那個目錄中拷貝出來
3、配置
flexget的配置使用的是yaml,雖然沒有聽說過,不過其實還是很簡單的。。
flexget的配置文件位于 ~/.flexget/config.yml (若不存在,創(chuàng)建一個即可)。
一個基本的配置是這樣的:
1
2
3
4
5
6
7 |
feeds:
Fate/Zero:
rss: http://bt.ktxp.com/rss-search-Fate%2FZero+%E6%BE%84%E7%A9%BA%E5%AD%A6%E5%9B%AD+720p.xml
accept_all: true
xunlei_lixian:
username: "<your username>"
password: "<your password>" |
flexget將多個不同的來源視為不同的feed,放在feeds下,F(xiàn)ate/Zero是它的名字
在前面我們說過,flexget有input, filter, output三種類型,在這個feed下面的配置中rss就是input, accept_all是filter, output是xunlei_lixian。
對于一個feed來說,input, filter, output這三個角色是必不可少的,但是使用的插件是可以變化的,通過不同的插件組合來達(dá)到各種各樣的功能。
更多的input, filter, output和他們的參數(shù)可以去http:///wiki/Plugins這里參看。
雖然這三者總是需要的,但是每次都寫一次完全相同的accept_all和xunlei_lixian也是一件麻煩的事情,于是你可以這么寫
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
presets:
global:
accept_all: true
xunlei_lixian:
username: "<your username>"
password: "<your password>"
feeds:
Fate/Zero:
rss: http://bt.ktxp.com/rss-search-Fate%2FZero+%E6%BE%84%E7%A9%BA%E5%AD%A6%E5%9B%AD+720p.xml
C3:
rss: http://bt.ktxp.com/rss-search-%E9%9B%AA%E9%85%B7%E5%AD%97%E5%B9%95%E7%BB%84+C3+%E7%B9%81%E4%BD%93+RMVB.xml
local_file:
find:
path: /home/me/incoming
mask: '*.torrent' |
用presets就可以把一些公共的配置放到一起了
需要注意的地方是,如果參數(shù)中帶中文,或者有其他特殊支付,比如’*.torrent’,請用引號包起來。
你可能注意到了,本地文件也是可以作為input的,寫法就是用find插件,像例子中那樣。
不過,由于xunlei只接受種子,所有一定要記得過濾 ’*.torrent’ 啊,不然我也不知道會怎么樣。。
好了,就是這樣了,該做的都完成了,現(xiàn)在我們運(yùn)行flexget看看吧:
輸入命令flexget看看吧
如果不放心,可以先使用命令: flexget –test 來試試結(jié)果是否正確。
如果沒出什么問題的話,資源已經(jīng)通通導(dǎo)入到你的離線空間了,慢慢下載回來吧,或者也可以參考我的下一篇教程:自動將離線空間的內(nèi)容通通下回本地
除了這種用法,flexget也可以訂閱資源到transmission中等其他軟件中,配合RSS可以達(dá)到自動訂閱新番的效果,具體參閱http:///wiki/Plugins中對應(yīng)的插件就可以了。