博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用Ruby批量获取电影的评分与影片信息
阅读量:7058 次
发布时间:2019-06-28

本文共 1302 字,大约阅读时间需要 4 分钟。

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

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

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

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

3....等

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

#encoding: utf-8require 'open-uri'require 'nokogiri'require 'uri'require "iconv"def findMovieInfo(name)  moviename= URI::escape(name)  url="http://movie.douban.com/subject_search?search_text=#{moviename}&cat=1002"  puts url  doc = Nokogiri::HTML(open(url))  item= doc.xpath('//tr[@class="item"]')  if(item.count>0)    return item[0].to_html()  end  return ''endfh = File.new("C:\\temp.html", "w")fh.write '    
'@directory_path = "D:\\大陆\\"if File.directory? @directory_path Dir.foreach(@directory_path) do |file| begin if(File.basename(file)!='.'&&File.basename(file)!='..') conv = Iconv.new("utf-8", "gb2312") name= File.basename(file).gsub(File.extname(file),'') name=conv.iconv(name) fh.write findMovieInfo(name) fh.flush end rescue puts '错误,跳过' end endendfh.write '
'fh.close()

如果对你有用,看在帮你节省看烂片时间的份上,请不要吝啬3秒钟帮我点下推荐

转载于:https://www.cnblogs.com/limlee/archive/2013/05/06/filterthesuckfilm.html

你可能感兴趣的文章
python 基础(三)
查看>>
BeanShell脚本接口之this引用接口类型
查看>>
mysql的复制集群,及读写分离
查看>>
易付宝 大苏宁战略的重要武器
查看>>
IPSec ***原理与配置
查看>>
让群辉支持DTS音轨
查看>>
移动端dropload插件的使用
查看>>
剑指OFFER(java)-二维数组中的查找
查看>>
华云数据与锐捷网络达成战略合作 聚焦行业云
查看>>
RHEL5.2利用lvm增加linux根分区的容量
查看>>
MDT 2013排错Provider:SQL Network Interfaces,error:26
查看>>
桌面支持--不能显示中文字体,系统已调成中文 而且不能打字
查看>>
古城钟楼微博:葡萄城程序员演练技术的产物
查看>>
最常用的四种数据分析方法
查看>>
Mesos安装部署笔记
查看>>
epoll的作用和原理介绍
查看>>
服务器远程监控管理(一)-硬件篇
查看>>
Android permission 工具类
查看>>
Tomcat使用与配置
查看>>
接口与抽象类的区别(转)
查看>>