book_finder_api 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/book_finder_api.rb +31 -7
- data/lib/book_finder_api/version.rb +1 -1
- metadata +2 -2
data/lib/book_finder_api.rb
CHANGED
@@ -11,11 +11,25 @@ class BookFinder
|
|
11
11
|
# Example :
|
12
12
|
# book_details = BookFinder.flipkart(9788120305960)
|
13
13
|
def self.flipkart(isbn)
|
14
|
+
#setting the url
|
14
15
|
search_url="http://www.flipkart.com/search/a/all?query=#{isbn}"
|
16
|
+
|
17
|
+
#initiating the Mechanize
|
15
18
|
result=Hash.new
|
16
19
|
agent =Mechanize.new
|
20
|
+
|
21
|
+
#for following redirect
|
17
22
|
agent.redirect_ok
|
23
|
+
|
24
|
+
#getting the page
|
18
25
|
page = agent.get(search_url)
|
26
|
+
|
27
|
+
#getting the titles and author
|
28
|
+
title_div=page.search(".mprod-summary-title")
|
29
|
+
result["Book"]=title_div.search("h1").text()
|
30
|
+
result["Author"]=title_div.search("h2").text()
|
31
|
+
|
32
|
+
#storing the resluts
|
19
33
|
page.search(".fk-specs-type2 tr").each do |tr|
|
20
34
|
fk_key=tr.search(".specs-key").text()
|
21
35
|
fk_val=tr.search(".specs-value").text()
|
@@ -23,19 +37,28 @@ class BookFinder
|
|
23
37
|
result[fk_key]=fk_val
|
24
38
|
end
|
25
39
|
end
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
if
|
32
|
-
result['
|
40
|
+
|
41
|
+
#storing the colleges from breadcrumb
|
42
|
+
breadcrumb = page.search(".fk-lbreadbcrumb a")
|
43
|
+
generals = ['Other General','Others Engineering']
|
44
|
+
|
45
|
+
if breadcrumb.count >0
|
46
|
+
result['college']=breadcrumb[4].search("span").text()
|
47
|
+
result['stream']= breadcrumb[5].search("span").text()
|
48
|
+
if generals.include? (result['college'])
|
49
|
+
result['college']=breadcrumb[5].search("span").text()
|
50
|
+
result['stream']= breadcrumb[6].search("span").text()
|
51
|
+
end
|
33
52
|
end
|
53
|
+
|
54
|
+
#storing the image
|
34
55
|
page.search("#main-image-id").each do |img_id|
|
35
56
|
img_tag=img_id.search("img")
|
36
57
|
img_url=img_tag.attribute("src")
|
37
58
|
result["img_url"]=img_url.to_s
|
38
59
|
end
|
60
|
+
|
61
|
+
#storing the price
|
39
62
|
price=page.search("#fk-mprod-list-id").text()
|
40
63
|
if price ==""
|
41
64
|
price = page.search("#fk-mprod-our-id").text()
|
@@ -44,6 +67,7 @@ class BookFinder
|
|
44
67
|
result["price"]=price
|
45
68
|
result["availability"]=page.search("#fk-stock-info-id").text()
|
46
69
|
result["description"]=page.search("#description").inner_html().force_encoding("UTF-8")
|
70
|
+
result["description"].gsub!('<a href="#">top</a>',"")
|
47
71
|
result
|
48
72
|
end
|
49
73
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: book_finder_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-12-
|
12
|
+
date: 2012-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|