nytimesbooks 0.1.6 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/nytimesbooks/books.rb +0 -80
- data/lib/nytimesbooks/cli.rb +50 -190
- data/lib/nytimesbooks/scraper.rb +82 -0
- data/lib/nytimesbooks/version.rb +1 -1
- data/lib/nytimesbooks.rb +2 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e05e9cfb5aaefdaccd4f31cc94eddfa9a00f279b59ae362426fda2c4cee5521c
|
4
|
+
data.tar.gz: a41c9c6ad0aa355467c5d6636f9262e1476b430cc53ef6930eccb9b7e96b6403
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38ea1413c06c8c2a82097db7eed943fb8f15bff6a30eb306ef4b3dacecc23b10689d625474d440cbb2fcec9720439d718d69c3a7c69e803a82cd1c657b09c63e
|
7
|
+
data.tar.gz: bd0856f5523e5ce6c9753d595baee4ad1d34b69604ec9e95c5f92a5846b20554693c4caaa8de89aa9436b8231b4858b73595dc72b01c8bcba31bc0751712677e
|
data/lib/nytimesbooks/books.rb
CHANGED
@@ -14,84 +14,4 @@ class Nytimesbooks::Book
|
|
14
14
|
new_array
|
15
15
|
end
|
16
16
|
|
17
|
-
def self.combined_fiction
|
18
|
-
puts "Combined Print & E-Book Fiction"
|
19
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/combined-print-and-e-book-fiction/?action=click&contentCollection=Books&referrer=https%3A%2F%2Fwww.nytimes.com%2Fsection%2Fbooks®ion=Body&module=CompleteListLink&version=Fiction&pgtype=Reference"))
|
20
|
-
combined_fiction_array = []
|
21
|
-
combined_fiction_array = new_book(doc)
|
22
|
-
combined_fiction_array
|
23
|
-
end
|
24
|
-
|
25
|
-
def self.hardcover_fiction
|
26
|
-
puts "Hardcover Fiction"
|
27
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/hardcover-fiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Fiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2F&pgtype=Reference"))
|
28
|
-
hardcover_fiction_array = []
|
29
|
-
hardcover_fiction_array = new_book(doc)
|
30
|
-
hardcover_fiction_array
|
31
|
-
end
|
32
|
-
|
33
|
-
def self.paperback_fiction
|
34
|
-
puts "Paperback Fiction"
|
35
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/trade-fiction-paperback/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Fiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fcombined-print-and-e-book-fiction%2F&pgtype=Reference"))
|
36
|
-
paperback_fiction_array = []
|
37
|
-
paperback_fiction_array = new_book(doc)
|
38
|
-
paperback_fiction_array
|
39
|
-
end
|
40
|
-
|
41
|
-
def self.combined_nonfiction
|
42
|
-
puts "Combined Print & E-Book Nonfiction"
|
43
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/combined-print-and-e-book-nonfiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Nonfiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fhardcover-fiction%2F&pgtype=Reference"))
|
44
|
-
combined_nonfiction_array = []
|
45
|
-
combined_nonfiction_array = new_book(doc)
|
46
|
-
combined_nonfiction_array
|
47
|
-
end
|
48
|
-
|
49
|
-
def self.hardcover_nonfiction
|
50
|
-
puts "Hardcover Nonfiction"
|
51
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/hardcover-nonfiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Nonfiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Ftrade-fiction-paperback%2F&pgtype=Reference&mtrref=www.nytimes.com&gwh=631EB713B46E9B6EEA11D9D78A6A73A3&gwt=pay"))
|
52
|
-
hardcover_nonfiction_array = []
|
53
|
-
hardcover_nonfiction_array = new_book(doc)
|
54
|
-
hardcover_nonfiction_array
|
55
|
-
end
|
56
|
-
|
57
|
-
def self.paperback_nonfiction
|
58
|
-
puts "Paperback Nonfiction"
|
59
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/paperback-nonfiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Nonfiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fsection%2Fbooks&pgtype=Reference"))
|
60
|
-
paperback_nonfiction_array = []
|
61
|
-
paperback_nonfiction_array = new_book(doc)
|
62
|
-
paperback_nonfiction_array
|
63
|
-
end
|
64
|
-
|
65
|
-
def self.childrens_middle
|
66
|
-
puts "Children's Middle Grade"
|
67
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/childrens-middle-grade-hardcover/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Childrens&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fchildrens-middle-grade-hardcover%2F&pgtype=Reference"))
|
68
|
-
childrens_middle_array = []
|
69
|
-
childrens_middle_array = new_book(doc)
|
70
|
-
childrens_middle_array
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.childrens_picture
|
74
|
-
puts "Children's Picture Books"
|
75
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/picture-books/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Childrens&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fchildrens-middle-grade-hardcover%2F&pgtype=Reference"))
|
76
|
-
children_picture_array = []
|
77
|
-
children_picture_array = new_book(doc)
|
78
|
-
children_picture_array
|
79
|
-
end
|
80
|
-
|
81
|
-
def self.childrens_series
|
82
|
-
puts "Children's Series"
|
83
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/series-books/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Childrens&referrer=https%3A%2F%2Fwww.nytimes.com%2Fsection%2Fbooks&pgtype=Reference"))
|
84
|
-
children_series_array = []
|
85
|
-
children_series_array = new_book(doc)
|
86
|
-
children_series_array
|
87
|
-
end
|
88
|
-
|
89
|
-
def self.young_adult
|
90
|
-
puts "Young Adult Hardcover"
|
91
|
-
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/young-adult-hardcover/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=More&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2F&pgtype=Reference"))
|
92
|
-
young_adult_array = []
|
93
|
-
young_adult_array = new_book(doc)
|
94
|
-
young_adult_array
|
95
|
-
end
|
96
|
-
|
97
17
|
end
|
data/lib/nytimesbooks/cli.rb
CHANGED
@@ -7,23 +7,23 @@ class Nytimesbooks::CLI
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def main_categories
|
10
|
-
puts "Are you interested in seeing Fiction, Nonfiction, or Childrens Best Sellers lists?"
|
10
|
+
puts "Are you interested in seeing 1. Fiction, 2. Nonfiction, or 3. Childrens Best Sellers lists?"
|
11
11
|
puts "(Type exit to leave program)"
|
12
12
|
input = gets.chomp.downcase
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
13
|
+
until input == "exit"
|
14
|
+
if input == "1"
|
15
|
+
fiction_menu
|
16
|
+
elsif input == "2"
|
17
|
+
nonfiction_menu
|
18
|
+
elsif input == "3"
|
19
|
+
childrens_menu
|
20
|
+
else
|
21
|
+
puts "I don't understand your input. Please try again."
|
22
|
+
end
|
23
|
+
input = gets.chomp.downcase
|
24
|
+
end
|
25
|
+
goodbye
|
25
26
|
end
|
26
|
-
end
|
27
27
|
|
28
28
|
def fiction_menu
|
29
29
|
puts "There are 3 Fiction categories:"
|
@@ -32,23 +32,23 @@ end
|
|
32
32
|
input = gets.chomp.downcase
|
33
33
|
case input
|
34
34
|
when "1"
|
35
|
-
@combined_fiction = Nytimesbooks::
|
35
|
+
@combined_fiction = Nytimesbooks::Scraper.combined_fiction
|
36
36
|
@combined_fiction.each_with_index do |book, i|
|
37
37
|
puts "#{i+1}. #{book.name} #{book.author}"
|
38
38
|
end
|
39
|
-
combined_fiction
|
39
|
+
combined(@combined_fiction)
|
40
40
|
when "2"
|
41
|
-
@hardcover_fiction = Nytimesbooks::
|
41
|
+
@hardcover_fiction = Nytimesbooks::Scraper.hardcover_fiction
|
42
42
|
@hardcover_fiction.each_with_index do |book, i|
|
43
43
|
puts "#{i+1}. #{book.name} #{book.author}"
|
44
44
|
end
|
45
|
-
hardcover_fiction
|
45
|
+
combined(@hardcover_fiction)
|
46
46
|
when "3"
|
47
|
-
@paperback_fiction = Nytimesbooks::
|
47
|
+
@paperback_fiction = Nytimesbooks::Scraper.paperback_fiction
|
48
48
|
@paperback_fiction.each_with_index do |book, i|
|
49
49
|
puts "#{i+1}. #{book.name} #{book.author}"
|
50
50
|
end
|
51
|
-
paperback_fiction
|
51
|
+
combined(@paperback_fiction)
|
52
52
|
when "exit"
|
53
53
|
goodbye
|
54
54
|
else
|
@@ -63,23 +63,23 @@ end
|
|
63
63
|
input = gets.chomp.downcase
|
64
64
|
case input
|
65
65
|
when "1"
|
66
|
-
@combined_nonfiction = Nytimesbooks::
|
66
|
+
@combined_nonfiction = Nytimesbooks::Scraper.combined_nonfiction
|
67
67
|
@combined_nonfiction.each_with_index do |book, i|
|
68
68
|
puts "#{i+1}. #{book.name} #{book.author}"
|
69
69
|
end
|
70
|
-
combined_nonfiction
|
70
|
+
combined(@combined_nonfiction)
|
71
71
|
when "2"
|
72
|
-
@hardcover_nonfiction = Nytimesbooks::
|
72
|
+
@hardcover_nonfiction = Nytimesbooks::Scraper.hardcover_nonfiction
|
73
73
|
@hardcover_nonfiction.each_with_index do |book, i|
|
74
74
|
puts "#{i+1}. #{book.name} #{book.author}"
|
75
75
|
end
|
76
|
-
hardcover_nonfiction
|
76
|
+
combined(@hardcover_nonfiction)
|
77
77
|
when "3"
|
78
|
-
@paperback_nonfiction = Nytimesbooks::
|
78
|
+
@paperback_nonfiction = Nytimesbooks::Scraper.paperback_nonfiction
|
79
79
|
@paperback_nonfiction.each_with_index do |book, i|
|
80
80
|
puts "#{i+1}. #{book.name} #{book.author}"
|
81
81
|
end
|
82
|
-
paperback_nonfiction
|
82
|
+
combined(@paperback_nonfiction)
|
83
83
|
when "exit"
|
84
84
|
goodbye
|
85
85
|
else
|
@@ -94,29 +94,29 @@ end
|
|
94
94
|
input = gets.chomp.downcase
|
95
95
|
case input
|
96
96
|
when "1"
|
97
|
-
@childrens_middle = Nytimesbooks::
|
97
|
+
@childrens_middle = Nytimesbooks::Scraper.childrens_middle
|
98
98
|
@childrens_middle.each_with_index do |book, i|
|
99
99
|
puts "#{i+1}. #{book.name} #{book.author}"
|
100
100
|
end
|
101
|
-
childrens_middle
|
101
|
+
combined(@childrens_middle, 10)
|
102
102
|
when "2"
|
103
|
-
@childrens_picture = Nytimesbooks::
|
103
|
+
@childrens_picture = Nytimesbooks::Scraper.childrens_picture
|
104
104
|
@childrens_picture.each_with_index do |book, i|
|
105
105
|
puts "#{i+1}. #{book.name} #{book.author}"
|
106
106
|
end
|
107
|
-
childrens_picture
|
107
|
+
combined(@childrens_picture, 10)
|
108
108
|
when "3"
|
109
|
-
@childrens_series = Nytimesbooks::
|
109
|
+
@childrens_series = Nytimesbooks::Scraper.childrens_series
|
110
110
|
@childrens_series.each_with_index do |book, i|
|
111
111
|
puts "#{i+1}. #{book.name} #{book.author}"
|
112
112
|
end
|
113
|
-
childrens_series
|
113
|
+
combined(@childrens_series, 10)
|
114
114
|
when "4"
|
115
|
-
@young_adult = Nytimesbooks::
|
115
|
+
@young_adult = Nytimesbooks::Scraper.young_adult
|
116
116
|
@young_adult.each_with_index do |book, i|
|
117
117
|
puts "#{i+1}. #{book.name} #{book.author}"
|
118
118
|
end
|
119
|
-
young_adult
|
119
|
+
combined(@young_adult, 10)
|
120
120
|
when "exit"
|
121
121
|
goodbye
|
122
122
|
else
|
@@ -124,168 +124,28 @@ end
|
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
puts "#{@combined_fiction[input - 1].name} #{@combined_fiction[input -1].author}."
|
135
|
-
puts "#{@combined_fiction[input - 1].bookdescription}"
|
136
|
-
goodbye
|
137
|
-
else
|
138
|
-
puts "I don't understand your input. Please try again."
|
139
|
-
combined_fiction
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
def hardcover_fiction
|
144
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 15, or exit to leave."
|
145
|
-
input = gets.chomp
|
146
|
-
if input == "exit"
|
147
|
-
goodbye
|
148
|
-
elsif input.to_i < 16 && input.to_i > 0
|
149
|
-
input = input.to_i
|
150
|
-
puts "#{@hardcover_fiction[input - 1].name} #{@hardcover_fiction[input -1].author}."
|
151
|
-
puts "#{@hardcover_fiction[input - 1].bookdescription}"
|
152
|
-
goodbye
|
153
|
-
else
|
154
|
-
puts "I don't understand your input. Please try again."
|
155
|
-
hardcover_fiction
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
def paperback_fiction
|
160
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 15, or exit to leave."
|
161
|
-
input = gets.chomp
|
162
|
-
if input == "exit"
|
163
|
-
goodbye
|
164
|
-
elsif input.to_i < 16 && input.to_i > 0
|
127
|
+
def combined(array, number = 15)
|
128
|
+
puts "Which of these books would you like to see a description of? Enter 1 - #{number}, or exit to leave."
|
129
|
+
input = gets.chomp
|
130
|
+
until input == "exit"
|
131
|
+
if input == "back"
|
132
|
+
main_categories
|
133
|
+
elsif input.to_i.between?(1, number)
|
165
134
|
input = input.to_i
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
else
|
170
|
-
puts "I don't understand your input. Please try again."
|
171
|
-
paperback_fiction
|
172
|
-
end
|
173
|
-
end
|
174
|
-
|
175
|
-
def combined_nonfiction
|
176
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 15, or exit to leave."
|
177
|
-
input = gets.chomp
|
178
|
-
if input == "exit"
|
179
|
-
goodbye
|
180
|
-
elsif input.to_i < 16 && input.to_i > 0
|
181
|
-
input = input.to_i
|
182
|
-
puts "#{@combined_nonfiction[input - 1].name} #{@combined_nonfiction[input -1].author}."
|
183
|
-
puts "#{@combined_nonfiction[input - 1].bookdescription}"
|
184
|
-
goodbye
|
135
|
+
puts "#{array[input - 1].name} #{array[input -1].author}."
|
136
|
+
puts "#{array[input - 1].bookdescription}"
|
137
|
+
puts "Please enter another number to see an additional description, back to return to the main menu, or enter exit to close the program."
|
185
138
|
else
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
def hardcover_nonfiction
|
192
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 15, or exit to leave."
|
193
|
-
input = gets.chomp
|
194
|
-
if input == "exit"
|
195
|
-
goodbye
|
196
|
-
elsif input.to_i < 16 && input.to_i > 0
|
197
|
-
input = input.to_i
|
198
|
-
puts "#{@hardcover_nonfiction[input - 1].name} #{@hardcover_nonfiction[input -1].author}."
|
199
|
-
puts "#{@hardcover_nonfiction[input - 1].bookdescription}"
|
200
|
-
goodbye
|
201
|
-
else
|
202
|
-
puts "I don't understand your input. Please try again."
|
203
|
-
hardcover_nonfiction
|
204
|
-
end
|
205
|
-
end
|
206
|
-
|
207
|
-
def paperback_nonfiction
|
208
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 15, or exit to leave."
|
209
|
-
input = gets.chomp
|
210
|
-
if input == "exit"
|
211
|
-
goodbye
|
212
|
-
elsif input.to_i < 16 && input.to_i > 0
|
213
|
-
input = input.to_i
|
214
|
-
puts "#{@paperback_nonfiction[input - 1].name} #{@paperback_nonfiction[input -1].author}."
|
215
|
-
puts "#{@paperback_nonfiction[input - 1].bookdescription}"
|
216
|
-
goodbye
|
217
|
-
else
|
218
|
-
puts "I don't understand your input. Please try again."
|
219
|
-
paperback_nonfiction
|
220
|
-
end
|
221
|
-
end
|
222
|
-
|
223
|
-
def childrens_middle
|
224
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 10, or exit to leave."
|
225
|
-
input = gets.chomp
|
226
|
-
if input == "exit"
|
227
|
-
goodbye
|
228
|
-
elsif input.to_i < 16 && input.to_i > 0
|
229
|
-
input.to_i
|
230
|
-
puts "#{@childrens_middle[input - 1].name} #{@childrens_middle[input -1].author}."
|
231
|
-
puts "#{@childrens_middle[input - 1].bookdescription}"
|
232
|
-
goodbye
|
233
|
-
else
|
234
|
-
puts "I don't understand your input. Please try again."
|
235
|
-
childrens_middle
|
236
|
-
end
|
237
|
-
end
|
238
|
-
|
239
|
-
def childrens_picture
|
240
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 10, or exit to leave."
|
241
|
-
input = gets.chomp
|
242
|
-
if input == "exit"
|
243
|
-
goodbye
|
244
|
-
elsif input.to_i < 16 && input.to_i > 0
|
245
|
-
input.to_i
|
246
|
-
puts "#{@childrens_picture[input - 1].name} #{@childrens_picture[input -1].author}."
|
247
|
-
puts "#{@childrens_picture[input - 1].bookdescription}"
|
248
|
-
goodbye
|
249
|
-
else
|
250
|
-
puts "I don't understand your input. Please try again."
|
251
|
-
childrens_picture
|
252
|
-
end
|
253
|
-
end
|
254
|
-
|
255
|
-
def childrens_series
|
256
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 10, or exit to leave."
|
257
|
-
input = gets.chomp
|
258
|
-
if input == "exit"
|
259
|
-
goodbye
|
260
|
-
elsif input.to_i < 16 && input.to_i > 0
|
261
|
-
input.to_i
|
262
|
-
puts "#{@childrens_series[input - 1].name} #{@childrens_series[input -1].author}."
|
263
|
-
puts "#{@childrens_series[input - 1].bookdescription}"
|
264
|
-
goodbye
|
265
|
-
else
|
266
|
-
puts "I don't understand your input. Please try again."
|
267
|
-
childrens_series
|
268
|
-
end
|
269
|
-
end
|
270
|
-
|
271
|
-
def young_adult
|
272
|
-
puts "Which of these books would you like to see a description of? Enter 1 - 10, or exit to leave."
|
273
|
-
input = gets.chomp
|
274
|
-
if input == "exit"
|
275
|
-
goodbye
|
276
|
-
elsif input.to_t < 16 && input.to_i > 0
|
277
|
-
input.to_i
|
278
|
-
puts "#{@young_adult[input - 1].name} #{@young_adult[input -1].author}."
|
279
|
-
puts "#{@young_adult[input - 1].bookdescription}"
|
280
|
-
goodbye
|
281
|
-
else
|
282
|
-
puts "I don't understand your input. Please try again."
|
283
|
-
young_adult
|
284
|
-
end
|
139
|
+
puts "I don't understand your input. Please try again."
|
140
|
+
combined(array, number)
|
141
|
+
end
|
142
|
+
input = gets.chomp
|
285
143
|
end
|
144
|
+
end
|
286
145
|
|
287
146
|
def goodbye
|
288
147
|
puts "Enjoy your reading!"
|
148
|
+
exit
|
289
149
|
end
|
290
150
|
|
291
151
|
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
class Nytimesbooks::Scraper
|
2
|
+
|
3
|
+
def self.combined_fiction
|
4
|
+
puts "Combined Print & E-Book Fiction"
|
5
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/combined-print-and-e-book-fiction/?action=click&contentCollection=Books&referrer=https%3A%2F%2Fwww.nytimes.com%2Fsection%2Fbooks®ion=Body&module=CompleteListLink&version=Fiction&pgtype=Reference"))
|
6
|
+
combined_fiction_array = []
|
7
|
+
combined_fiction_array = Nytimesbooks::Book.new_book(doc)
|
8
|
+
combined_fiction_array
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.hardcover_fiction
|
12
|
+
puts "Hardcover Fiction"
|
13
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/hardcover-fiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Fiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2F&pgtype=Reference"))
|
14
|
+
hardcover_fiction_array = []
|
15
|
+
hardcover_fiction_array = Nytimesbooks::Book.new_book(doc)
|
16
|
+
hardcover_fiction_array
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.paperback_fiction
|
20
|
+
puts "Paperback Fiction"
|
21
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/trade-fiction-paperback/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Fiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fcombined-print-and-e-book-fiction%2F&pgtype=Reference"))
|
22
|
+
paperback_fiction_array = []
|
23
|
+
paperback_fiction_array = Nytimesbooks::Book.new_book(doc)
|
24
|
+
paperback_fiction_array
|
25
|
+
end
|
26
|
+
|
27
|
+
def self.combined_nonfiction
|
28
|
+
puts "Combined Print & E-Book Nonfiction"
|
29
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/combined-print-and-e-book-nonfiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Nonfiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fhardcover-fiction%2F&pgtype=Reference"))
|
30
|
+
combined_nonfiction_array = []
|
31
|
+
combined_nonfiction_array = Nytimesbooks::Book.new_book(doc)
|
32
|
+
combined_nonfiction_array
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.hardcover_nonfiction
|
36
|
+
puts "Hardcover Nonfiction"
|
37
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/hardcover-nonfiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Nonfiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Ftrade-fiction-paperback%2F&pgtype=Reference&mtrref=www.nytimes.com&gwh=631EB713B46E9B6EEA11D9D78A6A73A3&gwt=pay"))
|
38
|
+
hardcover_nonfiction_array = []
|
39
|
+
hardcover_nonfiction_array = Nytimesbooks::Book.new_book(doc)
|
40
|
+
hardcover_nonfiction_array
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.paperback_nonfiction
|
44
|
+
puts "Paperback Nonfiction"
|
45
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/paperback-nonfiction/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Nonfiction&referrer=https%3A%2F%2Fwww.nytimes.com%2Fsection%2Fbooks&pgtype=Reference"))
|
46
|
+
paperback_nonfiction_array = []
|
47
|
+
paperback_nonfiction_array = Nytimesbooks::Book.new_book(doc)
|
48
|
+
paperback_nonfiction_array
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.childrens_middle
|
52
|
+
puts "Children's Middle Grade"
|
53
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/childrens-middle-grade-hardcover/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Childrens&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fchildrens-middle-grade-hardcover%2F&pgtype=Reference"))
|
54
|
+
childrens_middle_array = []
|
55
|
+
childrens_middle_array = Nytimesbooks::Book.new_book(doc)
|
56
|
+
childrens_middle_array
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.childrens_picture
|
60
|
+
puts "Children's Picture Books"
|
61
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/picture-books/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Childrens&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2Fchildrens-middle-grade-hardcover%2F&pgtype=Reference"))
|
62
|
+
children_picture_array = []
|
63
|
+
children_picture_array = Nytimesbooks::Book.new_book(doc)
|
64
|
+
children_picture_array
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.childrens_series
|
68
|
+
puts "Children's Series"
|
69
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/series-books/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=Childrens&referrer=https%3A%2F%2Fwww.nytimes.com%2Fsection%2Fbooks&pgtype=Reference"))
|
70
|
+
children_series_array = []
|
71
|
+
children_series_array = Nytimesbooks::Book.new_book(doc)
|
72
|
+
children_series_array
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.young_adult
|
76
|
+
puts "Young Adult Hardcover"
|
77
|
+
doc = Nokogiri::HTML(open("https://www.nytimes.com/books/best-sellers/young-adult-hardcover/?module=DropDownNav&action=click®ion=navbar&contentCollection=Books&version=More&referrer=https%3A%2F%2Fwww.nytimes.com%2Fbooks%2Fbest-sellers%2F&pgtype=Reference"))
|
78
|
+
young_adult_array = []
|
79
|
+
young_adult_array = Nytimesbooks::Book.new_book(doc)
|
80
|
+
young_adult_array
|
81
|
+
end
|
82
|
+
end
|
data/lib/nytimesbooks/version.rb
CHANGED
data/lib/nytimesbooks.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nytimesbooks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "'Alexandra Fren'"
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- lib/nytimesbooks.rb
|
74
74
|
- lib/nytimesbooks/books.rb
|
75
75
|
- lib/nytimesbooks/cli.rb
|
76
|
+
- lib/nytimesbooks/scraper.rb
|
76
77
|
- lib/nytimesbooks/version.rb
|
77
78
|
- nytimesbooks.gemspec
|
78
79
|
homepage: https://github.com/alexandrafren/nytimesbooks-cli-app
|