PageRankr 3.2.1 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +4 -0
- data/PageRankr.gemspec +2 -1
- data/README.md +19 -10
- data/Rakefile +6 -1
- data/lib/PageRankr.rb +1 -0
- data/lib/page_rankr/proxy_services/random.rb +2 -0
- data/lib/page_rankr/ranks/google.rb +1 -1
- data/lib/page_rankr/request.rb +44 -0
- data/lib/page_rankr/tracker.rb +11 -19
- data/lib/page_rankr/trackers.rb +18 -13
- data/lib/page_rankr/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/alexa_ranks_edge_case_1.yml +191 -175
- data/spec/fixtures/vcr_cassettes/failure_backlinks.yml +257 -4510
- data/spec/fixtures/vcr_cassettes/failure_indexes.yml +221 -4509
- data/spec/fixtures/vcr_cassettes/failure_ranks.yml +196 -127
- data/spec/fixtures/vcr_cassettes/success_backlinks.yml +291 -5401
- data/spec/fixtures/vcr_cassettes/success_indexes.yml +223 -5242
- data/spec/fixtures/vcr_cassettes/success_ranks.yml +280 -217
- data/spec/page_rankr_spec.rb +35 -5
- data/spec/spec_helper.rb +13 -1
- metadata +168 -88
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## Version 4.0.0
|
4
|
+
* Fix for Google pagerank check. Query parts were omitted which made the some pages get the same PR as the domain.
|
5
|
+
* Switch from Typheous to HTTParty to avoid memory leaks and have better support on Windows.
|
6
|
+
|
3
7
|
## Version 3.2.1
|
4
8
|
* Fix issue where tracker calls proxy with class name rather than name defined on class instance.
|
5
9
|
|
data/PageRankr.gemspec
CHANGED
@@ -16,11 +16,12 @@ Gem::Specification.new do |s|
|
|
16
16
|
s.add_development_dependency "bundler", ">= 1.0.0"
|
17
17
|
s.add_development_dependency "fuubar", ">= 0.0.1"
|
18
18
|
s.add_development_dependency "vcr"
|
19
|
+
s.add_development_dependency "fakeweb"
|
19
20
|
|
20
21
|
s.add_runtime_dependency "nokogiri", ">= 1.4.1"
|
21
22
|
s.add_runtime_dependency "json", ">= 1.4.6"
|
22
23
|
s.add_runtime_dependency "public_suffix", ">= 0.9.0"
|
23
|
-
s.add_runtime_dependency "
|
24
|
+
s.add_runtime_dependency "httparty", ">= 0.9.0"
|
24
25
|
s.add_runtime_dependency "jsonpath", ">= 0.4.2"
|
25
26
|
|
26
27
|
s.files = `git ls-files`.split("\n")
|
data/README.md
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
Provides an easy way to retrieve Google Page Rank, Alexa Rank, backlink counts, and index counts.
|
4
4
|
|
5
|
+
__Note: Version ~> 2.0 and ~> 3.0 used typheous internally which caused memory leak issues and failures on windows. 4.0.0 changes the implementation to use a Net::HTTP based library for better compatability.__
|
6
|
+
|
5
7
|
Check out a little [web app][1] I wrote up that uses it or look at the [source][2].
|
6
8
|
|
7
9
|
[1]: http://isitpopular.heroku.com
|
@@ -13,6 +15,12 @@ Check out a little [web app][1] I wrote up that uses it or look at the [source][
|
|
13
15
|
gem install PageRankr
|
14
16
|
```
|
15
17
|
|
18
|
+
## Gemfile
|
19
|
+
|
20
|
+
``` ruby
|
21
|
+
gem 'PageRankr'
|
22
|
+
```
|
23
|
+
|
16
24
|
## Use it!
|
17
25
|
|
18
26
|
``` ruby
|
@@ -215,19 +223,20 @@ Then, just make sure you require the class and PageRankr and whenever you call P
|
|
215
223
|
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
216
224
|
* Send me a pull request. Bonus points for topic branches.
|
217
225
|
|
218
|
-
## TODO Version
|
226
|
+
## TODO Version 5
|
219
227
|
* Detect request throttling
|
220
228
|
|
221
229
|
## Contributors
|
222
|
-
* [Dru Ibarra](https://github.com/Druwerd)
|
223
|
-
* [Iteration Labs, LLC](https://github.com/iterationlabs)
|
224
|
-
* [Marc Seeger](http://www.marc-seeger.de) ([Acquia](http://www.acquia.com))
|
225
|
-
* [Rémy Coutable](https://github.com/rymai)
|
226
|
-
* [Jonathan Rudenberg](https://github.com/titanous)
|
227
|
-
* [Chris Corbyn](https://github.com/d11wtq)
|
228
|
-
* [Hans Haselberg](https://github.com/i0rek)
|
229
|
-
* [Priit Haamer](https://github.com/priithaamer)
|
230
|
-
* [Marty McKenna](https://github.com/martyMM)
|
230
|
+
* [Dru Ibarra](https://github.com/Druwerd)
|
231
|
+
* [Iteration Labs, LLC](https://github.com/iterationlabs)
|
232
|
+
* [Marc Seeger](http://www.marc-seeger.de) ([Acquia](http://www.acquia.com))
|
233
|
+
* [Rémy Coutable](https://github.com/rymai)
|
234
|
+
* [Jonathan Rudenberg](https://github.com/titanous)
|
235
|
+
* [Chris Corbyn](https://github.com/d11wtq)
|
236
|
+
* [Hans Haselberg](https://github.com/i0rek)
|
237
|
+
* [Priit Haamer](https://github.com/priithaamer)
|
238
|
+
* [Marty McKenna](https://github.com/martyMM)
|
239
|
+
* [Alexi Rahman](https://github.com/odynvolk)
|
231
240
|
|
232
241
|
## Shout Out
|
233
242
|
Gotta give credit where credits due!
|
data/Rakefile
CHANGED
@@ -4,4 +4,9 @@ Bundler::GemHelper.install_tasks
|
|
4
4
|
require 'rspec/core/rake_task'
|
5
5
|
RSpec::Core::RakeTask.new(:spec)
|
6
6
|
|
7
|
-
task :default => :spec
|
7
|
+
task :default => :spec
|
8
|
+
|
9
|
+
desc "Open an irb session preloaded with this library"
|
10
|
+
task :console do
|
11
|
+
sh "irb -rubygems -I lib -r page_rankr.rb"
|
12
|
+
end
|
data/lib/PageRankr.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require File.expand_path('../page_rankr', __FILE__)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'httparty'
|
2
|
+
|
3
|
+
module PageRankr
|
4
|
+
class Request
|
5
|
+
def initialize(tracker, options)
|
6
|
+
@tracker = tracker
|
7
|
+
@options = options
|
8
|
+
end
|
9
|
+
|
10
|
+
def perform
|
11
|
+
method = tracker.method
|
12
|
+
url = tracker.url
|
13
|
+
|
14
|
+
response = HTTParty.send(method, url, construct_options(tracker))
|
15
|
+
yield response.body if block_given?
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
attr_reader :tracker
|
20
|
+
|
21
|
+
def construct_options(tracker)
|
22
|
+
proxy = tracker.proxy
|
23
|
+
params = tracker.params if tracker.respond_to?(:params)
|
24
|
+
|
25
|
+
options = default_options
|
26
|
+
options.merge!({
|
27
|
+
:http_proxyaddr => proxy.host,
|
28
|
+
:http_proxyport => proxy.port,
|
29
|
+
:http_proxyuser => proxy.user,
|
30
|
+
:http_proxypass => proxy.password
|
31
|
+
}) if proxy
|
32
|
+
options.merge!({:query => params}) if params
|
33
|
+
options.merge!(@options)
|
34
|
+
end
|
35
|
+
|
36
|
+
def default_options
|
37
|
+
{
|
38
|
+
:headers => {
|
39
|
+
'User-Agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.56.5 (KHTML, like Gecko) Version/5.1.6 Safari/534.56.5'
|
40
|
+
}
|
41
|
+
}
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/page_rankr/tracker.rb
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
-
require 'typhoeus'
|
2
1
|
require 'nokogiri'
|
3
2
|
require 'json'
|
4
3
|
require 'jsonpath'
|
4
|
+
require 'uri'
|
5
5
|
require File.expand_path('../site', __FILE__)
|
6
|
+
require File.expand_path('../request', __FILE__)
|
6
7
|
|
7
8
|
module PageRankr
|
8
9
|
module Tracker
|
@@ -12,21 +13,10 @@ module PageRankr
|
|
12
13
|
|
13
14
|
def initialize(site, options = {})
|
14
15
|
@site = PageRankr::Site(site)
|
16
|
+
@options = options
|
15
17
|
|
16
|
-
|
17
|
-
|
18
|
-
@options[:proxy] = proxy
|
19
|
-
@options.merge!(options)
|
20
|
-
|
21
|
-
request.on_complete do |response|
|
22
|
-
self.body = response.body
|
23
|
-
self.raw = content(body)
|
24
|
-
self.tracked = clean(raw)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def request
|
29
|
-
@request ||= Typhoeus::Request.new(url, @options)
|
18
|
+
# Initialize proxy, so threads don't need to synchronize the proxy service.
|
19
|
+
proxy
|
30
20
|
end
|
31
21
|
|
32
22
|
def url
|
@@ -46,13 +36,15 @@ module PageRankr
|
|
46
36
|
end
|
47
37
|
|
48
38
|
def proxy
|
49
|
-
PageRankr.proxy_service.proxy(name, @site) if PageRankr.proxy_service
|
39
|
+
@proxy ||= URI.parse(PageRankr.proxy_service.proxy(name, @site)) if PageRankr.proxy_service
|
50
40
|
end
|
51
41
|
|
52
42
|
def run
|
53
|
-
|
54
|
-
|
55
|
-
|
43
|
+
PageRankr::Request.new(self, @options).perform do |body|
|
44
|
+
self.body = body
|
45
|
+
self.raw = content(body)
|
46
|
+
self.tracked = clean(raw)
|
47
|
+
end
|
56
48
|
|
57
49
|
tracked
|
58
50
|
end
|
data/lib/page_rankr/trackers.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require '
|
1
|
+
require 'thread'
|
2
2
|
|
3
3
|
module PageRankr
|
4
4
|
module Trackers
|
@@ -10,27 +10,32 @@ module PageRankr
|
|
10
10
|
|
11
11
|
def lookup(site, *trackers)
|
12
12
|
trackers = site_trackers if trackers.empty?
|
13
|
-
|
14
|
-
tracked =
|
15
|
-
hydra = Typhoeus::Hydra.new
|
16
|
-
trackers.each do |tracker|
|
13
|
+
|
14
|
+
tracked = trackers.map do |tracker|
|
17
15
|
name, klass = constant_name(tracker), self.class
|
18
16
|
|
19
17
|
next unless klass.const_defined? name
|
20
18
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
19
|
+
[
|
20
|
+
tracker,
|
21
|
+
build_thread(tracker, klass.const_get(name), site)
|
22
|
+
]
|
23
|
+
end.each do |_, thread|
|
24
|
+
thread.join
|
25
|
+
end.map do |tracker, thread|
|
26
|
+
[tracker, thread.value]
|
28
27
|
end
|
29
28
|
|
30
|
-
tracked
|
29
|
+
Hash[tracked]
|
31
30
|
end
|
32
31
|
|
33
32
|
private
|
33
|
+
|
34
|
+
def build_thread(tracker, instance, site)
|
35
|
+
Thread.new(tracker, instance, site) do |t, i, s|
|
36
|
+
i.new(s).run
|
37
|
+
end
|
38
|
+
end
|
34
39
|
|
35
40
|
def symbol_for(klass)
|
36
41
|
word = klass.to_s.dup
|
data/lib/page_rankr/version.rb
CHANGED
@@ -1,181 +1,197 @@
|
|
1
|
-
---
|
2
|
-
http_interactions:
|
3
|
-
- request:
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
4
|
method: get
|
5
5
|
uri: http://data.alexa.com/data?cli=10&dat=snbamz&url=slocourts.net
|
6
|
-
body:
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
response:
|
14
|
-
status:
|
6
|
+
body:
|
7
|
+
string: ""
|
8
|
+
headers:
|
9
|
+
user-agent:
|
10
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.56.5 (KHTML, like Gecko) Version/5.1.6 Safari/534.56.5
|
11
|
+
response:
|
12
|
+
status:
|
15
13
|
code: 200
|
16
|
-
message:
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
-
|
21
|
-
|
22
|
-
|
23
|
-
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
NjIwNTEwIi8+CjxDQVQgSUQ9IlRvcC9SZWdpb25hbC9Ob3J0aF9BbWVyaWNh
|
78
|
-
L1VuaXRlZF9TdGF0ZXMvQ2FsaWZvcm5pYSIgVElUTEU9IlVuaXRlZCBTdGF0
|
79
|
-
ZXMvQ2FsaWZvcm5pYSIgQ0lEPSI2MTkwODciLz4KPENBVCBJRD0iVG9wL1Jl
|
80
|
-
Z2lvbmFsL05vcnRoX0FtZXJpY2EvVW5pdGVkX1N0YXRlcy9DYWxpZm9ybmlh
|
81
|
-
L0dvdmVybm1lbnQiIFRJVExFPSJDYWxpZm9ybmlhL0dvdmVybm1lbnQiIENJ
|
82
|
-
RD0iNjIwNjA4Ii8+CjxDQVQgSUQ9IlRvcC9Xb3JsZC9Fc3Bhw7FvbC9SZWdp
|
83
|
-
b25hbC9BbcOpcmljYS9Fc3RhZG9zX1VuaWRvcy9Fc3RhZG9zL0NhbGlmb3Ju
|
84
|
-
aWEiIFRJVExFPSJFc3RhZG9zL0NhbGlmb3JuaWEiIENJRD0iMjYyNDkiLz4K
|
85
|
-
PC9DQVRTPgo8L1NJVEU+CjwvRE1PWj4KPFNEPgo8UE9QVUxBUklUWSBVUkw9
|
86
|
-
ImNhLmdvdi8iIFRFWFQ9Ijc2MCIgU09VUkNFPSJwYW5lbCIvPgo8UkVBQ0gg
|
87
|
-
UkFOSz0iODQ0Ii8+CjxSQU5LIERFTFRBPSItODgiLz4KPC9TRD4KPC9BTEVY
|
88
|
-
QT4=
|
89
|
-
http_version: !binary |-
|
90
|
-
MS4x
|
91
|
-
recorded_at: Sat, 12 May 2012 18:39:16 GMT
|
92
|
-
- request:
|
14
|
+
message: OK
|
15
|
+
headers:
|
16
|
+
connection:
|
17
|
+
- Close
|
18
|
+
content-type:
|
19
|
+
- text/xml
|
20
|
+
content-length:
|
21
|
+
- "2620"
|
22
|
+
body:
|
23
|
+
string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\
|
24
|
+
\r\n\
|
25
|
+
<ALEXA VER=\"0.9\" URL=\"slocourts.ca.gov/\" HOME=\"0\" AID=\"=\">\r\n\
|
26
|
+
<RLS PREFIX=\"http://\" more=\"23\">\n\
|
27
|
+
<RL HREF=\"www.co.riverside.ca.us/depts/courts\" TITLE=\"Superior Court Of California County Of Riverside\"/>\n\
|
28
|
+
<RL HREF=\"courts.countyofventura.org/\" TITLE=\"Superior Court, Ventura\"/>\n\
|
29
|
+
<RL HREF=\"www.co.san-bernardino.ca.us/Courts\" TITLE=\"Superior Court, San Bernardino\"/>\n\
|
30
|
+
<RL HREF=\"www.ci.sf.ca.us/courts\" TITLE=\"Superior Court, San Francisco\"/>\n\
|
31
|
+
<RL HREF=\"www.sbcourts.org/\" TITLE=\"Superior Court, Santa Barbara\"/>\n\
|
32
|
+
<RL HREF=\"www.slosheriff.org/\" TITLE=\"San Luis Obispo County Sheriff's Department\"/>\n\
|
33
|
+
<RL HREF=\"www.slodss.org/\" TITLE=\"San Luis Obispo County Department of Social Services\"/>\n\
|
34
|
+
<RL HREF=\"www.slocountypwd.org/\" TITLE=\"San Luis Obispo County Department of Public Works and Transportation\"/>\n\
|
35
|
+
<RL HREF=\"www.slocountyfranchiseadministration.org/\" TITLE=\"San Luis Obispo County Franchise Administration\"/>\n\
|
36
|
+
<RL HREF=\"www.slocog.org/\" TITLE=\"SLOCOG\"/>\n\
|
37
|
+
<RL HREF=\"www.buttonware.com/\" TITLE=\"www.buttonware.com/\"/>\n\
|
38
|
+
</RLS>\n\
|
39
|
+
<SD TITLE=\"A\" FLAGS=\"DMOZ\" HOST=\"slocourts.ca.gov\">\n\
|
40
|
+
<TITLE TEXT=\"Superior Court, San Luis Obispo\"/>\n\
|
41
|
+
<ADDR STREET=\"3101 Gold Camp Dr\" CITY=\"Rancho Cordova\" STATE=\"CA\" ZIP=\"95670\" COUNTRY=\"US\" />\n\
|
42
|
+
<CREATED DATE=\"16-Jun-2000\" DAY=\"16\" MONTH=\"06\" YEAR=\"2000\"/>\n\
|
43
|
+
<PHONE NUMBER=\"+1 916 464 4239\"/>\n\
|
44
|
+
<OWNER NAME=\"State of California\"/>\n\
|
45
|
+
<EMAIL ADDR=\"lbatcheldor@co.slo.ca.us\"/>\n\
|
46
|
+
<LANG LEX=\"en\" CODE=\"us-ascii\"/>\n\
|
47
|
+
<LINKSIN NUM=\"12\"/>\n\
|
48
|
+
<SPEED TEXT=\"716\" PCT=\"83\"/>\n\
|
49
|
+
<REVIEWS AVG=\"4.5\" NUM=\"\"/>\n\
|
50
|
+
<CHILD SRATING=\"0\"/>\n\
|
51
|
+
</SD>\n\n\
|
52
|
+
<KEYWORDS>\n\
|
53
|
+
<KEYWORD VAL=\"San Luis Obispo\"/>\n\
|
54
|
+
</KEYWORDS><DMOZ>\n\
|
55
|
+
<SITE BASE=\"slocourts.ca.gov/\" TITLE=\"SLO County Superior Court\" DESC=\"Administrative site of the Superior Court, with information, public notices, and bail and fee schedules.\">\n\
|
56
|
+
<CATS>\n\
|
57
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California/Government/Courts\" TITLE=\"Government/Courts\" CID=\"620717\"/>\n\
|
58
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California/Counties/San_Luis_Obispo/Government\" TITLE=\"San Luis Obispo/Government\" CID=\"620510\"/>\n\
|
59
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California\" TITLE=\"United States/California\" CID=\"619087\"/>\n\
|
60
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California/Government\" TITLE=\"California/Government\" CID=\"620608\"/>\n\
|
61
|
+
<CAT ID=\"Top/World/Espa\xC3\xB1ol/Regional/Am\xC3\xA9rica/Estados_Unidos/Estados/California\" TITLE=\"Estados/California\" CID=\"26249\"/>\n\
|
62
|
+
</CATS>\n\
|
63
|
+
</SITE>\n\
|
64
|
+
</DMOZ>\n\
|
65
|
+
<SD>\n\
|
66
|
+
<POPULARITY URL=\"ca.gov/\" TEXT=\"775\" SOURCE=\"panel\"/>\n\
|
67
|
+
<REACH RANK=\"896\"/>\n\
|
68
|
+
<RANK DELTA=\"-10\"/>\n\
|
69
|
+
<COUNTRY CODE=\"US\" NAME=\"United States\" RANK=\"197\"/>\n\
|
70
|
+
</SD>\n\
|
71
|
+
</ALEXA>"
|
72
|
+
http_version: "1.1"
|
73
|
+
recorded_at: Mon, 17 Dec 2012 17:03:43 GMT
|
74
|
+
- request:
|
93
75
|
method: get
|
94
76
|
uri: http://data.alexa.com/data?cli=10&dat=snbamz&url=slocourts.net
|
95
|
-
body:
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
response:
|
103
|
-
status:
|
77
|
+
body:
|
78
|
+
string: ""
|
79
|
+
headers:
|
80
|
+
user-agent:
|
81
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.56.5 (KHTML, like Gecko) Version/5.1.6 Safari/534.56.5
|
82
|
+
response:
|
83
|
+
status:
|
104
84
|
code: 200
|
105
|
-
message:
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
-
|
110
|
-
|
111
|
-
|
112
|
-
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
85
|
+
message: OK
|
86
|
+
headers:
|
87
|
+
connection:
|
88
|
+
- Close
|
89
|
+
content-type:
|
90
|
+
- text/xml
|
91
|
+
content-length:
|
92
|
+
- "2620"
|
93
|
+
body:
|
94
|
+
string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\
|
95
|
+
\r\n\
|
96
|
+
<ALEXA VER=\"0.9\" URL=\"slocourts.ca.gov/\" HOME=\"0\" AID=\"=\">\r\n\
|
97
|
+
<RLS PREFIX=\"http://\" more=\"23\">\n\
|
98
|
+
<RL HREF=\"www.co.riverside.ca.us/depts/courts\" TITLE=\"Superior Court Of California County Of Riverside\"/>\n\
|
99
|
+
<RL HREF=\"courts.countyofventura.org/\" TITLE=\"Superior Court, Ventura\"/>\n\
|
100
|
+
<RL HREF=\"www.co.san-bernardino.ca.us/Courts\" TITLE=\"Superior Court, San Bernardino\"/>\n\
|
101
|
+
<RL HREF=\"www.ci.sf.ca.us/courts\" TITLE=\"Superior Court, San Francisco\"/>\n\
|
102
|
+
<RL HREF=\"www.sbcourts.org/\" TITLE=\"Superior Court, Santa Barbara\"/>\n\
|
103
|
+
<RL HREF=\"www.slosheriff.org/\" TITLE=\"San Luis Obispo County Sheriff's Department\"/>\n\
|
104
|
+
<RL HREF=\"www.slodss.org/\" TITLE=\"San Luis Obispo County Department of Social Services\"/>\n\
|
105
|
+
<RL HREF=\"www.slocountypwd.org/\" TITLE=\"San Luis Obispo County Department of Public Works and Transportation\"/>\n\
|
106
|
+
<RL HREF=\"www.slocountyfranchiseadministration.org/\" TITLE=\"San Luis Obispo County Franchise Administration\"/>\n\
|
107
|
+
<RL HREF=\"www.slocog.org/\" TITLE=\"SLOCOG\"/>\n\
|
108
|
+
<RL HREF=\"www.buttonware.com/\" TITLE=\"www.buttonware.com/\"/>\n\
|
109
|
+
</RLS>\n\
|
110
|
+
<SD TITLE=\"A\" FLAGS=\"DMOZ\" HOST=\"slocourts.ca.gov\">\n\
|
111
|
+
<TITLE TEXT=\"Superior Court, San Luis Obispo\"/>\n\
|
112
|
+
<ADDR STREET=\"3101 Gold Camp Dr\" CITY=\"Rancho Cordova\" STATE=\"CA\" ZIP=\"95670\" COUNTRY=\"US\" />\n\
|
113
|
+
<CREATED DATE=\"16-Jun-2000\" DAY=\"16\" MONTH=\"06\" YEAR=\"2000\"/>\n\
|
114
|
+
<PHONE NUMBER=\"+1 916 464 4239\"/>\n\
|
115
|
+
<OWNER NAME=\"State of California\"/>\n\
|
116
|
+
<EMAIL ADDR=\"lbatcheldor@co.slo.ca.us\"/>\n\
|
117
|
+
<LANG LEX=\"en\" CODE=\"us-ascii\"/>\n\
|
118
|
+
<LINKSIN NUM=\"12\"/>\n\
|
119
|
+
<SPEED TEXT=\"716\" PCT=\"83\"/>\n\
|
120
|
+
<REVIEWS AVG=\"4.5\" NUM=\"\"/>\n\
|
121
|
+
<CHILD SRATING=\"0\"/>\n\
|
122
|
+
</SD>\n\n\
|
123
|
+
<KEYWORDS>\n\
|
124
|
+
<KEYWORD VAL=\"San Luis Obispo\"/>\n\
|
125
|
+
</KEYWORDS><DMOZ>\n\
|
126
|
+
<SITE BASE=\"slocourts.ca.gov/\" TITLE=\"SLO County Superior Court\" DESC=\"Administrative site of the Superior Court, with information, public notices, and bail and fee schedules.\">\n\
|
127
|
+
<CATS>\n\
|
128
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California/Government/Courts\" TITLE=\"Government/Courts\" CID=\"620717\"/>\n\
|
129
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California/Counties/San_Luis_Obispo/Government\" TITLE=\"San Luis Obispo/Government\" CID=\"620510\"/>\n\
|
130
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California\" TITLE=\"United States/California\" CID=\"619087\"/>\n\
|
131
|
+
<CAT ID=\"Top/Regional/North_America/United_States/California/Government\" TITLE=\"California/Government\" CID=\"620608\"/>\n\
|
132
|
+
<CAT ID=\"Top/World/Espa\xC3\xB1ol/Regional/Am\xC3\xA9rica/Estados_Unidos/Estados/California\" TITLE=\"Estados/California\" CID=\"26249\"/>\n\
|
133
|
+
</CATS>\n\
|
134
|
+
</SITE>\n\
|
135
|
+
</DMOZ>\n\
|
136
|
+
<SD>\n\
|
137
|
+
<POPULARITY URL=\"ca.gov/\" TEXT=\"775\" SOURCE=\"panel\"/>\n\
|
138
|
+
<REACH RANK=\"896\"/>\n\
|
139
|
+
<RANK DELTA=\"-10\"/>\n\
|
140
|
+
<COUNTRY CODE=\"US\" NAME=\"United States\" RANK=\"197\"/>\n\
|
141
|
+
</SD>\n\
|
142
|
+
</ALEXA>"
|
143
|
+
http_version: "1.1"
|
144
|
+
recorded_at: Mon, 17 Dec 2012 17:03:43 GMT
|
145
|
+
- request:
|
146
|
+
method: get
|
147
|
+
uri: http://data.alexa.com/data?dat=snbamz&url=slocourts.net&cli=10
|
148
|
+
body:
|
149
|
+
string: ""
|
150
|
+
headers:
|
151
|
+
user-agent:
|
152
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.56.5 (KHTML, like Gecko) Version/5.1.6 Safari/534.56.5
|
153
|
+
response:
|
154
|
+
status:
|
155
|
+
code: 200
|
156
|
+
message: OK
|
157
|
+
headers:
|
158
|
+
connection:
|
159
|
+
- Close
|
160
|
+
content-type:
|
161
|
+
- text/xml
|
162
|
+
content-length:
|
163
|
+
- "30"
|
164
|
+
body:
|
165
|
+
string: |
|
166
|
+
|
167
|
+
<ALEXA VER="0.9" URL="404"/>
|
168
|
+
|
169
|
+
http_version: "1.1"
|
170
|
+
recorded_at: Tue, 18 Dec 2012 01:21:40 GMT
|
171
|
+
- request:
|
172
|
+
method: get
|
173
|
+
uri: http://data.alexa.com/data?dat=snbamz&url=slocourts.net&cli=10
|
174
|
+
body:
|
175
|
+
string: ""
|
176
|
+
headers:
|
177
|
+
user-agent:
|
178
|
+
- Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.56.5 (KHTML, like Gecko) Version/5.1.6 Safari/534.56.5
|
179
|
+
response:
|
180
|
+
status:
|
181
|
+
code: 200
|
182
|
+
message: OK
|
183
|
+
headers:
|
184
|
+
connection:
|
185
|
+
- Close
|
186
|
+
content-type:
|
187
|
+
- text/xml
|
188
|
+
content-length:
|
189
|
+
- "30"
|
190
|
+
body:
|
191
|
+
string: |
|
192
|
+
|
193
|
+
<ALEXA VER="0.9" URL="404"/>
|
194
|
+
|
195
|
+
http_version: "1.1"
|
196
|
+
recorded_at: Tue, 18 Dec 2012 01:21:40 GMT
|
197
|
+
recorded_with: VCR 2.3.0
|