代码改变世界

咱们来点小脚本-语言也有性格?

2008-03-04 15:43  横刀天笑  阅读(3021)  评论(20编辑  收藏  举报
今天闲来无事,一直想学习英语,于是心血来潮,想把www.listeningexpress.com这个网站上的VOA英文mp3给down下来(声明,绝对不是为这个网站打广告,不过它确实不错)。
看着满满一面的连接,想用迅雷下载全部连接功能,可发现还有很多我不想要的连接。唉,既然我们是Programer,既然电脑是用来辅助人们的工作的,那么。。。。
构思
第一步:先把这个页面的html source给down下来
第二步:正则,匹配到我要的mp3连接
第三步:把mp3文件down下来
打开VS准备敲下我熟悉的C#,等我把Project建完,我就懒惰起来了。

突然想起Ruby来。翻翻资料,10行代码解决了这个玩意儿。
require 'net/http'
= Net::HTTP.new('www.listeningexpress.com',80)
resp,data 
= h.get('/download/',nil)
mp3List 
= data.scan(%r|\<a href=\"\/get\.asp\?f=voase(.+?).mp3\">|)
for mp3 in mp3List
  file_name 
= "voase#{mp3}.mp3"
  new_file_name 
= file_name.gsub(/[\s]/,"%20")
  f 
= Net::HTTP.get("www.listeningexpress.com","/100/voase/#{new_file_name}")
  File.open(
"d:\\mp3\\#{file_name}","wb+").puts "#{f}"
end
让它运行去吧
****************************分隔线,废话开始********************************************8
在程序员的世界里我们总也离不开可乐和咖啡,在我们享受鱼肉这些正餐之外还需要这些“小意思”来调剂我们的精神。
在我们用C#等“企业级”开发语言的时候我们是否也去关注一下“咖啡”色的脚本语言。
在服务器维护等领域,那些管理员常常因为大量重复性工作,而需要编写很多脚本来辅助他们的工作,所以Perl之流等在服务器管理员行业特别流行,而在程序员的世界里我们却很少发现这样的事情。有的时候关注一下美丽小巧的脚本语言也不错哦,C#犹如大家闺秀,而这些脚本语言却很像小家碧玉。有的时候常常在想程序设计语言也有生命,也有自己的性格。有的温和,有的霸气。

发这个Post想让大家也来谈谈自己的“小家碧玉”,不知道该不该发在首页?