billgathen-skyscraper 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Bill Gathen
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,7 @@
1
+ = skyscraper
2
+
3
+ Test project to do screen-scraping using Hpricot.
4
+
5
+ == Copyright
6
+
7
+ Copyright (c) 2009 Bill Gathen. See LICENSE for details.
data/VERSION.yml ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 0
4
+ :patch: 1
data/lib/skyscraper.rb ADDED
@@ -0,0 +1,16 @@
1
+ module Skyscraper
2
+ require 'hpricot'
3
+ require 'open-uri'
4
+
5
+ def self.scrape_string s
6
+ Hpricot(s)
7
+ end
8
+
9
+ def self.scrape_file f
10
+ open(f) { |data| Hpricot(data)}
11
+ end
12
+
13
+ def self.scrape_url u
14
+ Hpricot(open(u))
15
+ end
16
+ end
@@ -0,0 +1 @@
1
+ <div><h1>Howdy!</h1>Welcome to my file</div>
@@ -0,0 +1,23 @@
1
+ require 'rubygems'
2
+ require 'spec/spec_helper'
3
+
4
+ describe "Skyscraper" do
5
+ it "should find div in string" do
6
+ doc = Skyscraper.scrape_string("<div>Hi</div>")
7
+ doc.should be_instance_of(Hpricot::Doc)
8
+ greeting = doc.at("div").inner_html
9
+ greeting.should == "Hi"
10
+ end
11
+ it "should find div in file" do
12
+ doc = Skyscraper.scrape_file "spec/skyscraper.txt"
13
+ doc.should be_instance_of(Hpricot::Doc)
14
+ greeting = doc.at("div").inner_html
15
+ greeting.should == "<h1>Howdy!</h1>Welcome to my file"
16
+ end
17
+ it "should find title in url" do
18
+ doc = Skyscraper.scrape_url "http://www.google.com"
19
+ doc.should be_instance_of(Hpricot::Doc)
20
+ title = doc.at("title").inner_html
21
+ title.should == "Google"
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ require 'spec'
2
+
3
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+ require 'skyscraper'
6
+
7
+ Spec::Runner.configure do |config|
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,70 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: billgathen-skyscraper
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Bill Gathen
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-28 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hpricot
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0.7"
24
+ version:
25
+ description:
26
+ email: bill.gathen@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - README.rdoc
33
+ - LICENSE
34
+ files:
35
+ - README.rdoc
36
+ - VERSION.yml
37
+ - lib/skyscraper.rb
38
+ - spec/skyscraper.txt
39
+ - spec/skyscraper_spec.rb
40
+ - spec/spec_helper.rb
41
+ - LICENSE
42
+ has_rdoc: true
43
+ homepage: http://github.com/billgathen/skyscraper
44
+ post_install_message:
45
+ rdoc_options:
46
+ - --inline-source
47
+ - --charset=UTF-8
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: "0"
55
+ version:
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: "0"
61
+ version:
62
+ requirements: []
63
+
64
+ rubyforge_project:
65
+ rubygems_version: 1.2.0
66
+ signing_key:
67
+ specification_version: 2
68
+ summary: Test project to do screen-scraping using Hpricot.
69
+ test_files: []
70
+