浙江省高等学校教师教育理论培训

微信搜索“毛凌志岗前心得”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

posted on 2011-01-16 22:02  lexus  阅读(543)  评论(0编辑  收藏  举报