鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > ruby > >

用Ruby批量获取电影的评分与影片信息

来源:互联网 作者:佚名 时间:2013-05-06 23:44
相信很多像我一样的技术宅喜欢窝家里看电影,现在的硬盘随随便便都是几百G好几T的,里面没个百部八十的都不好意思跟人打招呼。下得多了,但好电影真的不多,特别是像我这个大陆分类文件夹里,很多看完发现真的是浪费时间。用ruby写了个小程序,从豆瓣电影上

相信很多像我一样的技术宅喜欢窝家里看电影,现在的硬盘随随便便都是几百G好几T的,里面没个百部八十的都不好意思跟人打招呼。下得多了,但好电影真的不多,香港服务器,特别是像我这个大陆分类文件夹里,很多看完发现真的是浪费时间。用ruby写了个小程序,香港空间,从豆瓣电影上扒评分跟影片信息,将它们拼接成一个html网页,处理一个文件夹里的电影后能得到类似于下面的结果:

你也可以扩充后,添加譬如:

1.在你硬盘每个电影文件名前面添加评分,这样你就可以通过点按名称排序来实现评分排序了

2.可以自动删除小于5/6分的电影

3....等

下面把代码贴出来,你需要用到的ruby库有:nokogiri(用来解析html),网站空间,iconv(用来转码)

#encoding: utf-8 require require require require findMovieInfo(name) moviename= URI::escape(name) url= puts url doc = Nokogiri::HTML(open(url)) item= doc.xpath() if(item.count>0) return item[0].to_html() end return '' end fh = File.new(, ) fh.write '<!DOCTYPE html> <html lang==> <head> <meta http-equiv=content=> </head> <body> <table>' @directory_path = File.directory? @directory_path Dir.foreach(@directory_path) do |file| begin &&File.basename(file)!=) conv = Iconv.new(, ) name= File.basename(file).gsub(File.extname(file),'') name=conv.iconv(name) fh.write findMovieInfo(name) fh.flush end rescue puts end end end fh.write fh.close()

网友评论
<