<b>Ruby学习笔记一 安装Ruby与Ruby的爬虫操纵</b>[Java编程]
本文“<b>Ruby学习笔记一 安装Ruby与Ruby的爬虫操纵</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
近来终于空下来了,所以下个Ruby玩玩,安装Ruby很简单,去官网下载一个一键 安装包既可,linux下的安装,大家Google下就有很多教程了.关于IDE网上说 NetBeans支持得很完善,但是因为本人对比喜好Eclipse,所以还是跟大家举荐 EasyEclipse for Ruby and Rails,当然你可以挑选只下RoR的插件而不弄个全新 的Eclipse.
从前一向在用Java写爬虫工具抓图片,对HttpClient包装,正则表达式处理那 个是累啊,就算弄好了工具类,有时刻一会又想不起来放哪儿,但Ruby对方面包装 的就很强盛,短短几十行代码就搞定了这一切:
页面获得和文件下载的办法.
util.rb:
require'net/http'
defquery_url(url)
returnNet::HTTP.get(URI.parse(url));
end
defsave_url(url,dir,filename)
filename=url[url.rindex('/')+1,url.length-1] iffilename==nil||filename.empty?
require'open-uri'
Dir.mkdir("#{dir}")ifdir!=nil&&!dir.empty? &&!FileTest.exist?(dir)
open(url)do|fin|
iftrue
File.new("#{dir}#{filename}","wb").close
open("#{dir}#{filename}","wb")do|fout|
whilebuf=fin.read(1024)do
fout.writebuf
STDOUT.flush
end
end
end
end
end
抓取图片的具体利用:
require"util"
begin
start_url='http://list.mall.taobao.com/1424/g-d-----40-0-- 1424.htm'
whilestart_url!=nil&&!start_url.empty?do
print"开始下载#{start_url}n"
content=query_url(start_url)
next_page=content.scan(/<ahref="(.*?) "class="next-page"><span>下一页 </span></a>/)
next_url=nil
next_url=next_page[0][0]if next_page! =nil&&next_page.length>0&&next_page [0].length>0
imgs=content.scan(/<imgsrc="(http://img[d].*?) "/>/)
forimginimgs
url=img[0];
save_url(url,"d:mall",nil)
end
start_url=next_url;
# break;
end
end
利用一天之后感受ruby的语法很自然,很好理解,上手对比简单,并且相关包封 装的也很好,确切对比合适拿来玩玩小程序.
以上是“<b>Ruby学习笔记一 安装Ruby与Ruby的爬虫操纵</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |