http://www.quarkruby.com/2009/9/22/rails-utf-8-and-html-screen-scraping
http://www.rubyrailways.com/data-extraction-for-web-20-screen-scraping-in-rubyrails/
想弄一个网页爬虫,google了一下’ruby采集web网页’,在http://www.oschina.net/project/tag/64?show=recent中找到了Spidr。Spidr是一个基于Ruby的简单易用的网页爬虫库,可以将整个网站、多个网站、某个链接完全抓取到本地。
特性:
1、可定制的浏览器属性设置
2、可定制的代理设置
3、根据主机名、端口、连接、文件扩展名来定制抓取黑名单和白名单
4、基于页面、URL、URL正则匹配的回调机制
安装:
1、Spidr需要Hpricot支持
2、gem install spidr
http://spidr.rubyforge.org/
示例:
1、抓取单个网页
Spidr.start_at(’http://tenderlovemaking.com/’)
2、抓取某个主机
Spidr.host(’www.0×000000.com’)
3、抓取网站
Spidr.site(’http://hackety.org/’)
4、打出已访问过的URL
Spidr.site(’http://rubyinside.org/’) do |spider|
spider.every_url { |url| puts url }
end
5、提取所有的PHP、ASP应用页面
test_later = []
Spidr.site(’http://lame.web-startup.com’) do |spidr|
spidr.urls_like(/\.(php|asp)/i) do |url|
test_later << url
end
end