baidu 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/baidu.rb +11 -8
- metadata +1 -1
data/lib/baidu.rb
CHANGED
@@ -8,22 +8,25 @@ class Baidu
|
|
8
8
|
@baseuri = "http://www.baidu.com/s?rn=#{@perpage}&wd="
|
9
9
|
end
|
10
10
|
def query(query)
|
11
|
-
@uri = @baseuri+URI.encode(
|
11
|
+
@uri = @baseuri+URI.encode(query.encode('GBK'))
|
12
12
|
@page = @a.get @uri
|
13
13
|
self.clean
|
14
|
-
@number = number
|
14
|
+
@number = self.number
|
15
15
|
@maxpage = (@number / @perpage.to_f).round
|
16
16
|
@maxpage =10 if @maxpage>10
|
17
17
|
@currpage =0
|
18
18
|
end
|
19
|
-
def how_many_pages(
|
20
|
-
self.query("site:#{
|
19
|
+
def how_many_pages(uri)
|
20
|
+
self.query("site:#{uri}")
|
21
|
+
return self.number
|
21
22
|
end
|
22
|
-
def how_many_links
|
23
|
-
self.query("domain:\"#{
|
23
|
+
def how_many_links(uri)
|
24
|
+
self.query("domain:\"#{uri}\"")
|
25
|
+
return self.number
|
24
26
|
end
|
25
27
|
def how_many_pages_with(url,string)
|
26
28
|
self.query("site:#{url} inurl:#{string}")
|
29
|
+
return self.number
|
27
30
|
end
|
28
31
|
def rank(host)
|
29
32
|
@page.search("//table[@class=\"result\"]").each do |table|
|
@@ -47,7 +50,7 @@ class Baidu
|
|
47
50
|
return true
|
48
51
|
end
|
49
52
|
def clean
|
50
|
-
@page.body
|
51
|
-
@page.body.gsub! ("[\U0080-\U2C77]+"
|
53
|
+
@page.body.encode!('UTF-8','GBK')
|
54
|
+
@page.body.gsub! ("[\U0080-\U2C77]+") #mechanize will be confuzed without removing the few characters
|
52
55
|
end
|
53
56
|
end
|