Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20121
  • 博文数量: 5
  • 博客积分: 211
  • 博客等级: 二等列兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-22 23:44
文章分类

全部博文(5)

文章存档

2009年(5)

我的朋友
最近访客

分类: LINUX

2009-10-04 16:11:00

使用windows的朋友,请使用 《硕鼠-影音下载中心》

以下仅讨论Linux下的情况。


这几天忽然想看《七龙珠》,于是到youku.com下一集一集地看。可是网页看得不爽,广告贼多于是想着把flv下回来看,故而折腾出这个脚本。

原理是使用parse.php进行解析,然后调用aria2c进行下载(似乎wget, axel都会报403错误?)。脚本是用ruby写的,为了方便,我还加了GUI的提示(适合KDE。gnome用户就自己看着办吧。)

例子:
$ ./flvcd

将一下代码保存为/usr/bin/flvcd ,并添加可执行权限

#!/usr/bin/ruby

require 'open-uri'
require 'iconv'

# 下载命令调用(注意这里把文件下载到 ~/flv/目录下)
DL = "aria2c -c -j%d -s1 -i%s --referer=%s -d ~/flv"

class Flv
 @@CONVERT = Iconv.new('UTF-8', 'GBK')
 @@FLVCD="parse.php?kw="
 #@@FLVCD=""

 attr_reader :names, :urls, :count, :caption

 # 解析flv播放页面的地址
 def analyse(url)
 path = @@FLVCD + url
 open(path) do |page|
 @content = @@CONVERT.iconv(page.read()).gsub ".sixxs.org", ""
 @names = @content.scan(/<N>(.*)/).flatten
 @urls = @content.scan(/<U>(.*)/).flatten
 end
 @count = @names.length
 @caption = @names[0].gsub "-0001", ""
 end

 # 生成aria2c的下载列表
 def aria2file(name, postfix = "")
 file = File.new(name, "w")
 @urls.each_with_index do |url, i|
 file.puts url
 file.puts " out=" + @names[i] + postfix
 end
 file.flush
 file.close
 end
end

# 使用kdialog进行提示。
def alarm(msg)
 #puts msg # GNOME用户请使用这个
 system "kdialog --passivepopup '#{msg}' 5"
end

flv = Flv.new
ARGV.each do |arg|
 file="/tmp/urllist" + rand.to_s
 alarm 'Analysing ' + arg
 flv.analyse arg
 flv.aria2file file, ".flv"
 alarm 'Begin to download ' + flv.caption
 system DL % [flv.count * 3, file, arg]
 File.delete file
 alarm 'Compelete ' + flv.caption
end

另外,对于opera用户(比如,我),可以给opera右键菜单添加选项进行调用。

编辑文件 ~/.opera/menu/standard_menu.ini (什么?没有这个文件?请将 /usr/share/opera/ui/standard_menu.ini 复制过来)。

找到 “[Link Popup Menu]” 一节,添加一行:

Item, "下载 FLVs" = Execute program, "flvcd", "%l"

找到 “[Document Popup Menu] ”一节,再添加一行:

Item, "下载 FLVs" = Execute program, "flvcd", "%u"

重启opera,就可以看到对应链接的右键菜单中有新的选项喽!

阅读(1821) | 评论(3) | 转发(0) |
0

上一篇:没有了

下一篇:快速更正linux的翻译错误

给主人留下些什么吧!~~

chinaunix网友2009-10-23 20:25:24

说真的象维棠这样好用的应用软件linux都不知道何年何月才会有

xioepp2009-10-06 18:44:10

维棠有linux版的没`` 人家是高手

chinaunix网友2009-10-06 14:11:12

变态啊,看个视频还要搞这么多编程。 下载用 维棠 得了。还可以合并flv。