PageRankr 3.0.2 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -0
- data/PageRankr.gemspec +1 -1
- data/README.md +6 -6
- data/lib/page_rankr.rb +3 -2
- data/lib/page_rankr/backlink.rb +6 -0
- data/lib/page_rankr/backlinks/alexa.rb +1 -1
- data/lib/page_rankr/backlinks/bing.rb +1 -1
- data/lib/page_rankr/backlinks/google.rb +2 -2
- data/lib/page_rankr/backlinks/yahoo.rb +4 -3
- data/lib/page_rankr/index.rb +6 -0
- data/lib/page_rankr/indexes.rb +1 -0
- data/lib/page_rankr/indexes/bing.rb +1 -1
- data/lib/page_rankr/indexes/google.rb +2 -2
- data/lib/page_rankr/indexes/yahoo.rb +21 -0
- data/lib/page_rankr/ranks/alexa_global.rb +6 -2
- data/lib/page_rankr/ranks/alexa_us.rb +6 -2
- data/lib/page_rankr/ranks/google.rb +7 -2
- data/lib/page_rankr/site.rb +65 -14
- data/lib/page_rankr/tracker.rb +8 -0
- data/lib/page_rankr/version.rb +1 -1
- data/out.html +405 -0
- data/spec/edge_cases_spec.rb +1 -1
- data/spec/fixtures/vcr_cassettes/alexa_ranks_edge_case_1.yml +12 -12
- data/spec/fixtures/vcr_cassettes/failure_backlinks.yml +492 -99
- data/spec/fixtures/vcr_cassettes/failure_indexes.yml +493 -58
- data/spec/fixtures/vcr_cassettes/failure_ranks.yml +22 -22
- data/spec/fixtures/vcr_cassettes/success_backlinks.yml +70 -80
- data/spec/fixtures/vcr_cassettes/success_indexes.yml +72 -53
- data/spec/fixtures/vcr_cassettes/success_ranks.yml +96 -83
- data/spec/page_rankr_spec.rb +15 -9
- metadata +65 -6
data/CHANGELOG.md
CHANGED
data/PageRankr.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
|
20
20
|
s.add_runtime_dependency "nokogiri", ">= 1.4.1"
|
21
21
|
s.add_runtime_dependency "json", ">= 1.4.6"
|
22
|
-
s.add_runtime_dependency "
|
22
|
+
s.add_runtime_dependency "public_suffix", ">= 0.9.0"
|
23
23
|
s.add_runtime_dependency "typhoeus", ">= 0.2.1"
|
24
24
|
s.add_runtime_dependency "jsonpath", ">= 0.4.2"
|
25
25
|
|
data/README.md
CHANGED
@@ -62,19 +62,19 @@ If you don't specify a search engine, then all of them are used.
|
|
62
62
|
``` ruby
|
63
63
|
# this
|
64
64
|
PageRankr.indexes('www.google.com')
|
65
|
-
#=> {:bing=>2120000, :google=>4860000}
|
65
|
+
#=> {:bing=>2120000, :google=>4860000, :yahoo => 4863000}
|
66
66
|
|
67
67
|
# is equivalent to
|
68
|
-
PageRankr.indexes('www.google.com', :google, :bing)
|
69
|
-
#=> {:bing=>2120000, :google=>4860000}
|
68
|
+
PageRankr.indexes('www.google.com', :google, :bing, :yahoo)
|
69
|
+
#=> {:bing=>2120000, :google=>4860000, :yahoo => 4863000}
|
70
70
|
```
|
71
71
|
|
72
72
|
You can also use the alias `index` instead of `indexes`.
|
73
73
|
|
74
|
-
Valid search engines are: `:google, :bing`. To get this list you can do:
|
74
|
+
Valid search engines are: `:google, :bing, :yahoo`. To get this list you can do:
|
75
75
|
|
76
76
|
``` ruby
|
77
|
-
PageRankr.index_trackers #=> [:bing, :google]
|
77
|
+
PageRankr.index_trackers #=> [:bing, :google, :yahoo]
|
78
78
|
```
|
79
79
|
|
80
80
|
### Ranks
|
@@ -165,7 +165,7 @@ If you ever come across a site that provides a rank or backlinks you can hook th
|
|
165
165
|
|
166
166
|
# This method specifies the parameters for the url. It is optional, but likely required for the class to be useful.
|
167
167
|
def params
|
168
|
-
{:q =>
|
168
|
+
{:q => tracked_url}
|
169
169
|
end
|
170
170
|
|
171
171
|
# You can use a method named either xpath, jsonpath, or regex with the appropriate query type
|
data/lib/page_rankr.rb
CHANGED
@@ -3,8 +3,9 @@ require File.expand_path("../page_rankr/ranks", __FILE__)
|
|
3
3
|
require File.expand_path("../page_rankr/indexes", __FILE__)
|
4
4
|
|
5
5
|
module PageRankr
|
6
|
-
class MethodRequired
|
7
|
-
class DomainInvalid
|
6
|
+
class MethodRequired < StandardError; end
|
7
|
+
class DomainInvalid < StandardError; end
|
8
|
+
class SupportedComponentsInvalid < StandardError; end
|
8
9
|
|
9
10
|
class << self
|
10
11
|
def backlinks(site, *search_engines)
|
data/lib/page_rankr/backlink.rb
CHANGED
@@ -6,14 +6,15 @@ module PageRankr
|
|
6
6
|
include Backlink
|
7
7
|
|
8
8
|
def url
|
9
|
-
"http://
|
9
|
+
"http://search.yahoo.com/search"
|
10
10
|
end
|
11
|
+
|
11
12
|
def params
|
12
|
-
{:p => "
|
13
|
+
{:p => "inbody:#{tracked_url}"}
|
13
14
|
end
|
14
15
|
|
15
16
|
def xpath
|
16
|
-
"//
|
17
|
+
"//span[@id='resultCount']/text()"
|
17
18
|
end
|
18
19
|
end
|
19
20
|
end
|
data/lib/page_rankr/index.rb
CHANGED
data/lib/page_rankr/indexes.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
require File.expand_path('../../index', __FILE__)
|
2
|
+
|
3
|
+
module PageRankr
|
4
|
+
class Indexes
|
5
|
+
class Yahoo
|
6
|
+
include Index
|
7
|
+
|
8
|
+
def url
|
9
|
+
"http://search.yahoo.com/search"
|
10
|
+
end
|
11
|
+
|
12
|
+
def params
|
13
|
+
{:p => "site:#{tracked_url}"}
|
14
|
+
end
|
15
|
+
|
16
|
+
def xpath
|
17
|
+
"//span[@id='resultCount']/text()"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -10,7 +10,7 @@ module PageRankr
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def params
|
13
|
-
{:cli => 10, :dat => "snbamz", :url =>
|
13
|
+
{:cli => 10, :dat => "snbamz", :url => tracked_url}
|
14
14
|
end
|
15
15
|
|
16
16
|
# Alexa may sometimes return a result for the incorrect site and thus it is necessary to check if
|
@@ -20,7 +20,11 @@ module PageRankr
|
|
20
20
|
# to slocourts.net. Clearly something is wrong with how Alexa handles this case and so in the event this
|
21
21
|
# happens we treat the results as if there were no results.
|
22
22
|
def xpath
|
23
|
-
"//popularity[contains(@url, '#{
|
23
|
+
"//popularity[contains(@url, '#{tracked_url}')]/@text"
|
24
|
+
end
|
25
|
+
|
26
|
+
def supported_components
|
27
|
+
[:domain]
|
24
28
|
end
|
25
29
|
end
|
26
30
|
end
|
@@ -10,7 +10,7 @@ module PageRankr
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def params
|
13
|
-
{:cli => 10, :dat => "snbamz", :url =>
|
13
|
+
{:cli => 10, :dat => "snbamz", :url => tracked_url}
|
14
14
|
end
|
15
15
|
|
16
16
|
# Alexa may sometimes return a result for the incorrect site and thus it is necessary to check if
|
@@ -20,7 +20,11 @@ module PageRankr
|
|
20
20
|
# to slocourts.net. Clearly something is wrong with how Alexa handles this case and so in the event this
|
21
21
|
# happens we treat the results as if there were no results.
|
22
22
|
def xpath
|
23
|
-
"//popularity[contains(@url, '#{
|
23
|
+
"//popularity[contains(@url, '#{tracked_url}')]/../reach/@rank"
|
24
|
+
end
|
25
|
+
|
26
|
+
def supported_components
|
27
|
+
[:domain]
|
24
28
|
end
|
25
29
|
end
|
26
30
|
end
|
@@ -7,17 +7,22 @@ module PageRankr
|
|
7
7
|
include Rank
|
8
8
|
|
9
9
|
def initialize(site)
|
10
|
-
@
|
10
|
+
@site = PageRankr::Site(site)
|
11
|
+
@checksum = Checksum.generate("info:#{tracked_url}")
|
11
12
|
|
12
13
|
super(site)
|
13
14
|
end
|
14
15
|
|
16
|
+
def supported_components
|
17
|
+
[:subdomain, :path]
|
18
|
+
end
|
19
|
+
|
15
20
|
def url
|
16
21
|
"http://toolbarqueries.google.com/tbr"
|
17
22
|
end
|
18
23
|
|
19
24
|
def params
|
20
|
-
{:client => "navclient-auto", :ch => @checksum, :features => "Rank", :q => "info:#{
|
25
|
+
{:client => "navclient-auto", :ch => @checksum, :features => "Rank", :q => "info:#{tracked_url}"}
|
21
26
|
end
|
22
27
|
|
23
28
|
def regex
|
data/lib/page_rankr/site.rb
CHANGED
@@ -1,28 +1,79 @@
|
|
1
|
-
require '
|
1
|
+
require 'public_suffix'
|
2
2
|
require 'delegate'
|
3
|
+
require 'uri'
|
3
4
|
|
4
5
|
module PageRankr
|
5
|
-
class Site
|
6
|
+
class Site
|
7
|
+
COMPONENTS = [:scheme, :subdomain, :domain, :port, :path, :query, :fragment]
|
8
|
+
|
6
9
|
def initialize(site)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
+
@uri = URI.parse(site)
|
11
|
+
@domain = PublicSuffix.parse(@uri.host)
|
12
|
+
|
13
|
+
@domain.valid? or raise DomainInvalid, "The domain provided is invalid.1"
|
14
|
+
rescue PublicSuffix::DomainInvalid, URI::InvalidURIError
|
10
15
|
raise DomainInvalid, "The domain provided is invalid."
|
11
16
|
end
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
|
18
|
+
def scheme
|
19
|
+
@uri.scheme
|
20
|
+
end
|
21
|
+
|
22
|
+
def domain
|
23
|
+
@domain.domain
|
24
|
+
end
|
25
|
+
|
26
|
+
def subdomain
|
27
|
+
@domain.subdomain or domain
|
28
|
+
end
|
29
|
+
|
30
|
+
def port
|
31
|
+
@uri.port
|
32
|
+
end
|
33
|
+
|
34
|
+
def path
|
35
|
+
@uri.path
|
36
|
+
end
|
37
|
+
|
38
|
+
def query
|
39
|
+
@uri.query
|
40
|
+
end
|
41
|
+
|
42
|
+
def fragment
|
43
|
+
@uri.fragment
|
44
|
+
end
|
45
|
+
|
46
|
+
def url(supported_components = [:domain])
|
47
|
+
supported_components = COMPONENTS & supported_components #get ordered list
|
48
|
+
|
49
|
+
unless supported_components.include?(:subdomain) ^ supported_components.include?(:domain)
|
50
|
+
raise SupportedComponentsInvalid, "Either subdomain or domain should be set as a supported component, not both."
|
51
|
+
end
|
52
|
+
|
53
|
+
supported_components.inject("") do |url, component|
|
54
|
+
url + case component
|
55
|
+
when :scheme
|
56
|
+
scheme and "#{scheme}://" or ""
|
57
|
+
when :domain
|
58
|
+
domain
|
59
|
+
when :subdomain
|
60
|
+
subdomain
|
61
|
+
when :port
|
62
|
+
port == @uri.default_port and "" or ":#{port}"
|
63
|
+
when :path
|
64
|
+
path or ""
|
65
|
+
when :query
|
66
|
+
query and "?#{query}" or ""
|
67
|
+
when :fragment
|
68
|
+
fragment and "##{fragment}" or ""
|
69
|
+
end
|
70
|
+
end
|
20
71
|
end
|
21
72
|
end
|
22
73
|
|
23
74
|
class << self
|
24
75
|
def Site(site)
|
25
|
-
site.respond_to?(:
|
76
|
+
site.respond_to?(:url) ? site : Site.new(site)
|
26
77
|
end
|
27
78
|
end
|
28
79
|
end
|
data/lib/page_rankr/tracker.rb
CHANGED
@@ -32,6 +32,14 @@ module PageRankr
|
|
32
32
|
raise PageRankr::MethodRequired, "A url method defining the url to the service with the value you wish to extract must be defined."
|
33
33
|
end
|
34
34
|
|
35
|
+
def tracked_url
|
36
|
+
@site.url(supported_components)
|
37
|
+
end
|
38
|
+
|
39
|
+
def supported_components
|
40
|
+
[:subdomain]
|
41
|
+
end
|
42
|
+
|
35
43
|
def method
|
36
44
|
:get
|
37
45
|
end
|
data/lib/page_rankr/version.rb
CHANGED
data/out.html
ADDED
@@ -0,0 +1,405 @@
|
|
1
|
+
<!doctype html><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>link:www.google.com - Google Search</title><style>#gbar,#guser{font-size:13px;padding-top:1px !important}#gbar{height:22px}#guser{padding-bottom:7px !important;text-align:right}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}@media all{.gb1{height:22px;margin-right:.5em;vertical-align:top}#gbar{float:left}}a.gb1,a.gb4{text-decoration:underline !important}a.gb1,a.gb4{color:#00c !important}</style><style>
|
2
|
+
body,td,div,.p,a{
|
3
|
+
font-family:arial,sans-serif
|
4
|
+
}
|
5
|
+
body {
|
6
|
+
margin:0
|
7
|
+
}
|
8
|
+
#gbar{
|
9
|
+
float:left;
|
10
|
+
height:22px;padding-left:2px;
|
11
|
+
font-size:13px
|
12
|
+
}
|
13
|
+
|
14
|
+
.gssb_c table{
|
15
|
+
font-size:1em
|
16
|
+
}
|
17
|
+
.gsfi,.gsfs{
|
18
|
+
font-size:17px
|
19
|
+
}
|
20
|
+
|
21
|
+
.j{
|
22
|
+
width:34em
|
23
|
+
}
|
24
|
+
|
25
|
+
a:link,.w,.q:active,.q:visited,.tbotu{
|
26
|
+
color:#11c
|
27
|
+
}
|
28
|
+
a.fl,.flc a{
|
29
|
+
color:#4272db;text-decoration:none
|
30
|
+
}
|
31
|
+
|
32
|
+
a.gl{
|
33
|
+
text-decoration:none
|
34
|
+
}
|
35
|
+
cite, cite a:link{
|
36
|
+
color:#0E774A;
|
37
|
+
font-style:normal
|
38
|
+
}
|
39
|
+
#foot {
|
40
|
+
padding:0 8px;
|
41
|
+
}
|
42
|
+
#foot a{
|
43
|
+
white-space:nowrap
|
44
|
+
}
|
45
|
+
h3{
|
46
|
+
font-size:16px;
|
47
|
+
font-weight:normal;
|
48
|
+
margin:0;
|
49
|
+
padding:0
|
50
|
+
}
|
51
|
+
#res h3{
|
52
|
+
display:inline
|
53
|
+
}
|
54
|
+
.hd{
|
55
|
+
height:1px;
|
56
|
+
position:absolute;
|
57
|
+
top:-1000em
|
58
|
+
}
|
59
|
+
li.g,body,html,table,.std{
|
60
|
+
font-size:13px
|
61
|
+
}
|
62
|
+
li.g{
|
63
|
+
margin-bottom:14px;
|
64
|
+
margin-top:0;
|
65
|
+
zoom:1;
|
66
|
+
}
|
67
|
+
ol li,ul li{
|
68
|
+
list-style:none
|
69
|
+
}
|
70
|
+
h1,ol,ul,li{
|
71
|
+
margin:0;padding:0
|
72
|
+
}
|
73
|
+
#mbEnd li{
|
74
|
+
margin:1em 0
|
75
|
+
}
|
76
|
+
#mbEnd h2{
|
77
|
+
color:#676767;
|
78
|
+
font-family:arial,sans-serif;
|
79
|
+
font-size:11px;
|
80
|
+
font-weight:normal
|
81
|
+
}
|
82
|
+
#center_col{
|
83
|
+
border-left:1px solid #d3e1f9;
|
84
|
+
padding:0 8px
|
85
|
+
}
|
86
|
+
|
87
|
+
#fll a,#bfl a{
|
88
|
+
margin:0 10px
|
89
|
+
}
|
90
|
+
|
91
|
+
.f{
|
92
|
+
color:#767676
|
93
|
+
}
|
94
|
+
.grn{
|
95
|
+
color:#393
|
96
|
+
}
|
97
|
+
.ds{
|
98
|
+
border-right:1px solid #e7e7e7;
|
99
|
+
position:relative;
|
100
|
+
height:32px;
|
101
|
+
|
102
|
+
z-index:100
|
103
|
+
}
|
104
|
+
.e{
|
105
|
+
margin:2px 0px 0.75em
|
106
|
+
}
|
107
|
+
#leftnav a,.slk a{
|
108
|
+
text-decoration:none
|
109
|
+
}
|
110
|
+
#leftnav h2{
|
111
|
+
color: #767676;
|
112
|
+
font-weight: normal;
|
113
|
+
margin:0
|
114
|
+
}
|
115
|
+
#logo{
|
116
|
+
display:block;
|
117
|
+
height:49px;
|
118
|
+
margin-top:12px;
|
119
|
+
margin-left:12px;
|
120
|
+
overflow:hidden;
|
121
|
+
position:relative;
|
122
|
+
width:137px
|
123
|
+
}
|
124
|
+
#logo img{
|
125
|
+
|
126
|
+
left:0;
|
127
|
+
position:absolute;
|
128
|
+
top:-41px
|
129
|
+
}
|
130
|
+
.lnsec{
|
131
|
+
font-size:13px;
|
132
|
+
border-top:1px solid #c9d7f1;
|
133
|
+
margin-top:5px;
|
134
|
+
padding-top:8px
|
135
|
+
}
|
136
|
+
.lsb,.micon,.csb,.star,.star div{
|
137
|
+
background:url(/images/nav_logo_hp2.png) no-repeat;
|
138
|
+
overflow:hidden
|
139
|
+
}
|
140
|
+
.lst{
|
141
|
+
background:#fff;
|
142
|
+
border:1px solid #ccc;
|
143
|
+
border-bottom:none;
|
144
|
+
color:#000;
|
145
|
+
font:18px arial,sans-serif;
|
146
|
+
|
147
|
+
float:left;
|
148
|
+
height:26px;
|
149
|
+
margin:0;
|
150
|
+
padding:4px 0 0;
|
151
|
+
padding-left:6px;
|
152
|
+
padding-right:10px;
|
153
|
+
vertical-align:top;
|
154
|
+
width:100%;
|
155
|
+
|
156
|
+
word-break:break-all
|
157
|
+
}
|
158
|
+
.lst:focus{
|
159
|
+
outline:none
|
160
|
+
}
|
161
|
+
.lst-td{
|
162
|
+
border-bottom:1px solid #999;
|
163
|
+
padding:0
|
164
|
+
}
|
165
|
+
.lst-b{
|
166
|
+
border:1px solid #CCC;
|
167
|
+
border-bottom:none;
|
168
|
+
padding-right:0;
|
169
|
+
height:29px;
|
170
|
+
padding-top:1px
|
171
|
+
}
|
172
|
+
.tia input{
|
173
|
+
border-right:none;
|
174
|
+
padding-right:0
|
175
|
+
}
|
176
|
+
.tia{
|
177
|
+
padding-right:0
|
178
|
+
}
|
179
|
+
.lsbb{
|
180
|
+
background:#eee;
|
181
|
+
border:1px solid #999;
|
182
|
+
border-top-color:#ccc;
|
183
|
+
border-left-color:#ccc;
|
184
|
+
height:30px
|
185
|
+
}
|
186
|
+
.lsb{
|
187
|
+
background-position:bottom;
|
188
|
+
border:none;
|
189
|
+
color:#000;
|
190
|
+
cursor:pointer;
|
191
|
+
font:15px arial,sans-serif;
|
192
|
+
height:30px;
|
193
|
+
margin:0;
|
194
|
+
vertical-align:top
|
195
|
+
}
|
196
|
+
.lsb:active{
|
197
|
+
background:#ccc
|
198
|
+
}
|
199
|
+
.micon {
|
200
|
+
float:left;
|
201
|
+
height:19px;
|
202
|
+
margin-top:2px;
|
203
|
+
margin-right: 6px;
|
204
|
+
width:19px;
|
205
|
+
}
|
206
|
+
#nav{
|
207
|
+
|
208
|
+
border-collapse:collapse;
|
209
|
+
margin-top:17px;
|
210
|
+
text-align:left
|
211
|
+
}
|
212
|
+
#nav td{
|
213
|
+
text-align:center;
|
214
|
+
}
|
215
|
+
.nobr{
|
216
|
+
white-space:nowrap
|
217
|
+
}
|
218
|
+
#showmodes .micon{
|
219
|
+
background-position:-150px -114px;
|
220
|
+
height:17px;
|
221
|
+
margin-left:9px;
|
222
|
+
width:17px;
|
223
|
+
}
|
224
|
+
#subform_ctrl{
|
225
|
+
font-size:11px;
|
226
|
+
height:26px;
|
227
|
+
margin:5px 3px 0;
|
228
|
+
margin-left:17px
|
229
|
+
}
|
230
|
+
.ts{
|
231
|
+
border-collapse:collapse
|
232
|
+
}
|
233
|
+
#mn{
|
234
|
+
table-layout:fixed;width:996px
|
235
|
+
}
|
236
|
+
.mitem{
|
237
|
+
font-size:15px;
|
238
|
+
line-height:24px;
|
239
|
+
margin-bottom:2px;
|
240
|
+
padding-left:0
|
241
|
+
}
|
242
|
+
.msel{
|
243
|
+
font-weight:bold;
|
244
|
+
margin:-1px 0 0 0;
|
245
|
+
border:solid #fff;
|
246
|
+
border-width:1px 0
|
247
|
+
}
|
248
|
+
.r{
|
249
|
+
margin:0
|
250
|
+
}
|
251
|
+
#res{
|
252
|
+
padding:4px 8px 0
|
253
|
+
}
|
254
|
+
.s br{
|
255
|
+
display:none
|
256
|
+
}
|
257
|
+
.spon{
|
258
|
+
font-size:11px;
|
259
|
+
font-weight:normal;
|
260
|
+
color:#767676
|
261
|
+
}
|
262
|
+
.mitem,.lnsec{
|
263
|
+
padding-left:8px
|
264
|
+
}
|
265
|
+
#showmodes{
|
266
|
+
font-size:15px;
|
267
|
+
line-height:24px;
|
268
|
+
}
|
269
|
+
#swr{
|
270
|
+
margin-top:4px
|
271
|
+
}
|
272
|
+
#swr li{
|
273
|
+
line-height:1.2;
|
274
|
+
margin-bottom:4px
|
275
|
+
}
|
276
|
+
.csb{
|
277
|
+
display:block;
|
278
|
+
height:40px;
|
279
|
+
}
|
280
|
+
.images_table td{line-height:17px;padding-bottom:16px}
|
281
|
+
.images_table img{border:1px solid #ccc;padding:1px}
|
282
|
+
.taf{
|
283
|
+
padding:1px 0 0
|
284
|
+
}
|
285
|
+
.tam{
|
286
|
+
padding:14px 0 0
|
287
|
+
}
|
288
|
+
.tal{
|
289
|
+
padding:14px 0 1px
|
290
|
+
}
|
291
|
+
#tbd,#abd{
|
292
|
+
display:block;
|
293
|
+
min-height:1px;
|
294
|
+
padding-top:3px
|
295
|
+
}
|
296
|
+
#tbd li{
|
297
|
+
|
298
|
+
display:inline
|
299
|
+
}
|
300
|
+
.tbfo,.tbt,.tbpd{
|
301
|
+
margin-bottom:8px
|
302
|
+
}
|
303
|
+
#tbd .tbt li{
|
304
|
+
display:block;
|
305
|
+
font-size:13px;
|
306
|
+
line-height:1.2;
|
307
|
+
padding-bottom:3px;
|
308
|
+
padding-left:8px;
|
309
|
+
text-indent:-8px
|
310
|
+
}
|
311
|
+
.tbos,.b{
|
312
|
+
font-weight:bold;
|
313
|
+
}
|
314
|
+
a:hover{
|
315
|
+
text-decoration:underline
|
316
|
+
}
|
317
|
+
#leftnav a:hover {
|
318
|
+
text-decoration:underline;
|
319
|
+
}
|
320
|
+
em{
|
321
|
+
font-weight:bold;
|
322
|
+
font-style:normal
|
323
|
+
}
|
324
|
+
|
325
|
+
.gac_wd{
|
326
|
+
right:-2px !important;
|
327
|
+
|
328
|
+
overflow:hidden
|
329
|
+
}
|
330
|
+
|
331
|
+
.fmg{
|
332
|
+
display:inline-block;
|
333
|
+
margin-top:7px;
|
334
|
+
padding-right:8px;
|
335
|
+
text-align-left;
|
336
|
+
vertical-align:top;
|
337
|
+
width:90px;
|
338
|
+
zoom:1
|
339
|
+
}
|
340
|
+
.star{
|
341
|
+
|
342
|
+
background-position:0 -120px;
|
343
|
+
|
344
|
+
height:9px;
|
345
|
+
overflow-hidden;
|
346
|
+
width:50px
|
347
|
+
}
|
348
|
+
.star div{
|
349
|
+
|
350
|
+
background-position:0 -110px
|
351
|
+
|
352
|
+
}
|
353
|
+
|
354
|
+
.pslires{
|
355
|
+
padding-top:6px;
|
356
|
+
overflow:hidden;
|
357
|
+
width:99.5%
|
358
|
+
}
|
359
|
+
.psliimg{
|
360
|
+
float:left;
|
361
|
+
height:90px;
|
362
|
+
text-align:top;
|
363
|
+
width:90px
|
364
|
+
}
|
365
|
+
.pslimain{
|
366
|
+
margin-left:100px;
|
367
|
+
margin-right:9em
|
368
|
+
}
|
369
|
+
.psliprice{
|
370
|
+
float:right;
|
371
|
+
width:7em
|
372
|
+
}
|
373
|
+
.psliprice b{
|
374
|
+
font-size:medium;
|
375
|
+
font-weight:bold;
|
376
|
+
white-space:nowrap
|
377
|
+
}
|
378
|
+
.psliimg img{
|
379
|
+
border:none
|
380
|
+
}
|
381
|
+
</style><script type="text/javascript">
|
382
|
+
window['hlprwt'] = function(t, ct) {
|
383
|
+
try {
|
384
|
+
if (t === window) {
|
385
|
+
t = window.event.srcElement;
|
386
|
+
while (t) {
|
387
|
+
if (t.href) {
|
388
|
+
break;
|
389
|
+
}
|
390
|
+
t = t.parentNode;
|
391
|
+
}
|
392
|
+
}
|
393
|
+
t.href = ct;
|
394
|
+
t.onmousedown = '';
|
395
|
+
} catch (e) {
|
396
|
+
}
|
397
|
+
return true;
|
398
|
+
}
|
399
|
+
window.google = { y: {} };
|
400
|
+
</script><script type="text/javascript"></script></head>
|
401
|
+
<body bgcolor="#ffffff" topmargin="3" marginheight="3" marginwidth="0"
|
402
|
+
><div id=gbar><nobr><b class=gb1>Web</b> <a class=gb1 href="http://www.google.com/search?q=link:www.google.com&um=1&ie=UTF-8&hl=en&tbm=isch&source=og&sa=N&tab=wi">Images</a> <a class=gb1 href="http://www.google.com/search?q=link:www.google.com&um=1&ie=UTF-8&hl=en&tbo=u&tbm=vid&source=og&sa=N&tab=wv">Videos</a> <a class=gb1 href="http://maps.google.com/maps?q=link:www.google.com&um=1&ie=UTF-8&hl=en&sa=N&tab=wl">Maps</a> <a class=gb1 href="http://news.google.com/nwshp?hl=en&tab=wn">News</a> <a class=gb1 href="http://www.google.com/search?q=link:www.google.com&um=1&ie=UTF-8&hl=en&tbo=u&tbm=shop&source=og&sa=N&tab=wf">Shopping</a> <a class=gb1 href="https://mail.google.com/mail/?tab=wm">Gmail</a> <a class=gb1 style="text-decoration:none" href="http://www.google.com/intl/en/options/"><u>More</u> »</a></nobr></div><div id=guser width=100%><nobr><span id=gbn class=gbi></span><span id=gbf class=gbf></span><span id=gbe></span><a href="http://www.google.com/history/optout?hl=en" class=gb4>Web History</a> | <a href="/preferences?hl=en" class=gb4>Settings</a> | <a id=gb_70 href="https://accounts.google.com/ServiceLogin?hl=en&continue=http://www.google.com/search%3Fq%3Dlink:www.google.com" class=gb4>Sign in</a></nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div><br clear="all"><table border="0" cellpadding="0" cellspacing="0" id="mn" style="position:relative"><tr><td rowspan="2" valign="top" width="157"><h1><a href="/webhp?hl=" id="logo" title="Go to Google Home"><img src="/images/nav_logo_hp2.png" alt="" height="222" style="border:0" width="167"></a></h1></td><td valign="top" style="padding-left:9px" width="559"><form name="gs" id="tsf" method="GET" action="/search" style="display:block;margin:0;background:none"><table border="0" cellpadding="0" cellspacing="0" id="sbhost" style="border-bottom:1px solid #e7e7e7;margin-top:18px;position:relative"><tr><td class="lst-td" width="100%" valign="bottom" style=""><div style="position:relative;zoom:1"><input autocomplete="off" class="lst" type="text" name="q" maxlength="2048" title="Search" value="link:www.google.com"></div></td><td><div class="ds"><div class="lsbb"><input type="submit" name="btnG" class="lsb" value="Search"></div></div></td></tr></table></form></td><td style="padding-left:5px" width="259"></td></tr><tr><td width="100%"><div id="subform_ctrl"><div style="float:right"><a class="fl" href="/advanced_search?q=link:www.google.com&hl=en&ie=UTF-8">Advanced Search</a></div><div>Results <b>1</b> - <b>10</b> of about <b>34,900</b> linking to <b>www.google.com</b>.</div></div></td><td></td></tr><tr><td valign="top" id="leftnav" style="padding:4px"><div id="modeselector" style="padding-bottom:4px"><ul><li class="mitem msel"><span class="micon" style="
|
403
|
+
background-position:-20px -132px
|
404
|
+
"></span>Everything</li></ul><a id="showmodes" class="q" href="/search?q=link%3Awww.google.com&hl=en&prmdo=1&sa=X"><span class="micon"></span><span class="msm">More</span></a></div><div class="lnsec"><h2 class="hd">Search Options</h2><ul id="tbd" class="med"></ul><a href="/search?q=link:www.google.com&hl=en&ie=UTF-8&tbo=1" class="q" style="display:block;margin-bottom:16px">Show options...</a></div></td><td valign="top"><div id="center_col"><div id="tbbc" style="background:#ebeff9;padding:8px;margin-bottom:4px"><b>Web</b></div><div id="res"><div id="ires"><ol><li class="g"><h3 class="r"><a href="http://www.google.nl/" onmousedown="return hlprwt(this, 'http://www.google.nl/')">Google</a></h3><div class="s">Het internet · Afbeeldingen · Video's · Maps · Nieuws · Shopping · Gmail · Meer · <br> Vertalen · Boeken · Scholar · Blogs · YouTube · Agenda · Foto's · Documenten <b>...</b><br><div><cite>www.google.nl/</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:DUYA4reIvh8J:http://www.google.nl/+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.google.nl/+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.irishtimes.com/newspaper/breaking/2011/0930/breaking20.html" onmousedown="return hlprwt(this, 'http://www.irishtimes.com/newspaper/breaking/2011/0930/breaking20.html')">Google invests �75m in data centre - The Irish Times - Fri, Sep 30 <b>...</b></a></h3><div class="s">Sep 30, 2011 <b>...</b> Google is to invest �75 million in a new energy efficient data centre in west <br> Dublin.<br><div><cite>www.irishtimes.com/newspaper/breaking/2011/.../breaking20.html</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:MZ4M-gkm-ZgJ:http://www.irishtimes.com/newspaper/breaking/2011/0930/breaking20.html+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.irishtimes.com/newspaper/breaking/2011/0930/breaking20.html+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.linuxpackages.net/search_view.php?by=name&name=postfix&ver=" onmousedown="return hlprwt(this, 'http://www.linuxpackages.net/search_view.php?by=name&name=postfix&ver=')">LinuxPackages: Results</a></h3><div class="s">Results 1 - 15 <b>...</b> Slackware resources to help install and configure the Linux slackware <br> distribution, Email list, Discussion Board, Howtos, Contributed packages, <b>...</b><br><div><cite>www.linuxpackages.net/search_view.php?by=name...</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:2_b7ck_ob68J:http://www.linuxpackages.net/search_view.php?by=name&name=postfix&ver=+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.linuxpackages.net/search_view.php?by=name&name=postfix&ver=+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.quefuede.com/centrosciudades_eggc.html" onmousedown="return hlprwt(this, 'http://www.quefuede.com/centrosciudades_eggc.html')">PURCHENA-COLEGIOS-INSTITUTOS-CENTROS-DE-ENSE�ANZA</a></h3><div class="s">DIRECTORIO DE COLEGIOS, INSTITUTOS Y CENTROS DE ENSE�ANZA DE <br> PURCHENA,<br><div><cite>www.quefuede.com/centrosciudades_eggc.html</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:AUU0h5GOs1wJ:http://www.quefuede.com/centrosciudades_eggc.html+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.quefuede.com/centrosciudades_eggc.html+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.google.com.br/intl/pt-BR/earth/explore/showcase/ocean.html" onmousedown="return hlprwt(this, 'http://www.google.com.br/intl/pt-BR/earth/explore/showcase/ocean.html')">Google Earth: Oceano</a></h3><div class="s">Google Earth lets you fly anywhere on Earth to view satellite imagery, maps, <br> terrain, 3D buildings, from galaxies in outer space to the canyons of the ocean.<br><div><cite>www.google.com.br/intl/pt-BR/earth/explore/.../ocean.html</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:IwfVlgfEH2wJ:http://www.google.com.br/intl/pt-BR/earth/explore/showcase/ocean.html+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.google.com.br/intl/pt-BR/earth/explore/showcase/ocean.html+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.heroines.ca/search/search.html" onmousedown="return hlprwt(this, 'http://www.heroines.ca/search/search.html')">Search - heroines.ca, Women in Canadian History</a></h3><div class="s">Comprehensive site about women in Canadian history.<br><div><cite>www.heroines.ca/search/search.html</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:jcUvQGWsRBkJ:http://www.heroines.ca/search/search.html+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.heroines.ca/search/search.html+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.thuraya.com/support/selfservice" onmousedown="return hlprwt(this, 'http://www.thuraya.com/support/selfservice')">Self Service | Thuraya</a></h3><div class="s">Thuraya offers reliable satellite-based telecommunications solutions to travellers, <br> governments and corporate users in industries including the media, maritime <b>...</b><br><div><cite>www.thuraya.com/support/selfservice</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:y8N1LqUoKRkJ:http://www.thuraya.com/support/selfservice+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.thuraya.com/support/selfservice+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://rconversation.blogs.com/rconversation/google-1/" onmousedown="return hlprwt(this, 'http://rconversation.blogs.com/rconversation/google-1/')">RConversation: Google</a></h3><div class="s">Rebecca MacKinnon's erratic postings about work, reading, and ideas since <br> 2004.<br><div><cite>rconversation.blogs.com/rconversation/google-1/</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:_31fpR3zrRMJ:http://rconversation.blogs.com/rconversation/google-1/+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://rconversation.blogs.com/rconversation/google-1/+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://www.google.com/intl/ru/earth/learn/3dbuildings.html" onmousedown="return hlprwt(this, 'http://www.google.com/intl/ru/earth/learn/3dbuildings.html')">Google Планета Земля: руководства по 3D-моделированию</a></h3><div class="s">Google Earth lets you fly anywhere on Earth to view satellite imagery, maps, <br> terrain, 3D buildings, from galaxies in outer space to the canyons of the ocean.<br><div><cite>www.google.com/intl/ru/earth/learn/3dbuildings.html</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:F7t0JFuAnkwJ:http://www.google.com/intl/ru/earth/learn/3dbuildings.html+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://www.google.com/intl/ru/earth/learn/3dbuildings.html+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li><li class="g"><h3 class="r"><a href="http://bulletins.psu.edu/bulletins/bluebook/ba_requirements.cfm?section=foreignLanguage" onmousedown="return hlprwt(this, 'http://bulletins.psu.edu/bulletins/bluebook/ba_requirements.cfm?section=foreignLanguage')">Undergraduate Degree Programs: Bachelor of Arts Degree <b>...</b></a></h3><div class="s">Bachelor of Arts degree majors require 12 to 24 credits distributed among five <br> categories. In addition, students are expected to complete credits required by <br> their <b>...</b><br><div><cite>bulletins.psu.edu/bulletins/bluebook/ba_requirements.cfm?...</cite><span class="flc"> - <a href="//webcache.googleusercontent.com/search?hl=en&q=cache:QUB9FL7oNusJ:http://bulletins.psu.edu/bulletins/bluebook/ba_requirements.cfm?section=foreignLanguage+link%3Awww.google.com&ct=clnk">Cached</a> - <a href="/search?hl=en&tbo=1&q=related:http://bulletins.psu.edu/bulletins/bluebook/ba_requirements.cfm?section=foreignLanguage+link%3Awww.google.com&sa=X">Similar</a></span></div></div></li></ol></div></div></div><div id="foot"><table align="center" border="0" cellpadding="0" cellspacing="0" id="nav"><tr valign="top"><td class="b" align="left"><span class="csb ch" style="background-position:-26px 0;width:18px"></span><b></b></td><td><span class="csb ch" style="background-position:-44px 0;width:16px"></span><b>1</b></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=10&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>2</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=20&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>3</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=30&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>4</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=40&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>5</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=50&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>6</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=60&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>7</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=70&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>8</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=80&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>9</a></td><td><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=90&sa=N" class="fl"><span class="csb ch" style="background-position:-60px 0;width:16px"></span>10</a></td><td class="b" style="text-align:left"><a href="/search?hl=en&ie=UTF-8&ei=3GnlTvHQJObv0gGTpez9BQ&q=link:www.google.com&start=10&sa=N" style="text-align:left"><span class="csb ch" style="background-position:-76px 0;width:66px"></span><span style="display:block;margin-left:53px">Next</span></a></td></tr></table><div><div style="margin-top:22px"><form method="GET" action="/search"><table border="0" cellpadding="0" cellspacing="0" width="100%" style="border-bottom:1px solid #e7e7e7;padding:8px 0 0;position:relative"><tr><td class="lst-td" width="100%" valign="bottom"><div style="position:relative;zoom:1"><input autocomplete="off" class="lst" type="text" name="q" maxlength="2048" value="link:www.google.com" title="Search"></div></td><td><div class="ds"><div class="lsbb"><input type="submit" name="btnG" class="lsb" value="Search"></div></div></td></tr></table><input type="hidden" name="hl" value="en"></form></div><p id="bfl" class="flc" style="margin:6px 0 0;text-align:center"><a href="/support/websearch/bin/answer.py?answer=134479&hl=en">Search Help</a></p></div><div id="fll" class="flc" style="margin:19px auto 19px auto;text-align:center"><a href="/">Google Home</a> <a href="
|
405
|
+
/intl/en/ads/">Advertising Programs</a> <a href="/services">Business Solutions</a> <a href="/intl/en/privacy.html">Privacy</a> <a href="/intl/en/about.html">About Google</a></div></div></td><td valign="top"></td></tr></table><script src="/extern_js/f/CgJlbhICdXMgACswWjgALCswDjgALCswCjgAmgICaGUsKzAYOAAsgAIEkAJc/bqYe1apFwH0.js"></script><script type="text/javascript">google.ac.c({"client":"serp","dh":true,"ds":"","host":"google.com","jsonp":true,"msgs":{"lcky":"I\u0026#39;m Feeling Lucky","lml":"Learn more","psrc":"This search was removed from your \u003Ca href=\"/history\"\u003EWeb History\u003C/a\u003E","psrl":"Remove","srch":"Google Search"},"ovr":{"d":1,"hl":1,"l":1,"o":1,"p":1,"ps":1,"sw":1,"vc":-3},"pq":"link:www.google.com"})</script></body></html>
|