youtubesearchresultscraper 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +3 -0
- data/lib/youtube/searchresultscraper.rb +16 -7
- data/lib/youtube/searchresultscraper.rb~ +8 -7
- metadata +1 -1
data/CHANGELOG
CHANGED
@@ -83,9 +83,9 @@ module Youtube #:nodoc:
|
|
83
83
|
|
84
84
|
# Get search result from youtube by specified keyword.
|
85
85
|
def open
|
86
|
-
url = @@youtube_search_base_url + CGI.escape(@keyword)
|
87
|
-
url += "&page=#{@page}" if not @page == nil
|
88
|
-
@html = Kernel.open(url).read
|
86
|
+
@url = @@youtube_search_base_url + CGI.escape(@keyword)
|
87
|
+
@url += "&page=#{@page}" if not @page == nil
|
88
|
+
@html = Kernel.open(@url).read
|
89
89
|
replace_document_write_javascript
|
90
90
|
@search_result = Hpricot.parse(@html)
|
91
91
|
end
|
@@ -204,25 +204,34 @@ module Youtube #:nodoc:
|
|
204
204
|
|
205
205
|
def scrape_video_count
|
206
206
|
video_count = scrape_result_header
|
207
|
-
|
207
|
+
unless video_count.sub!(/.+Results \d+-\d+ of( | about )([0-9,]+)/m , '\2')
|
208
|
+
raise "no video count: " + @url unless is_no_result
|
209
|
+
end
|
208
210
|
video_count.gsub!(/,/, '')
|
209
211
|
video_count.to_i
|
210
212
|
end
|
211
213
|
|
212
214
|
def scrape_video_from
|
213
215
|
video_from = scrape_result_header
|
214
|
-
|
216
|
+
unless video_from.sub!(/.+Results (\d+)/m, '\1')
|
217
|
+
raise "no video from: " + @url unless is_no_result
|
218
|
+
end
|
215
219
|
video_from.to_i
|
216
220
|
end
|
217
221
|
|
218
222
|
def scrape_video_to
|
219
223
|
video_to = scrape_result_header
|
220
|
-
|
224
|
+
unless video_to.sub!(/.+Results \d+-(\d+)/m, '\1')
|
225
|
+
raise "no video to: " + @url unless is_no_result
|
226
|
+
end
|
221
227
|
video_to.to_i
|
222
228
|
end
|
223
229
|
|
224
230
|
def is_no_result
|
225
|
-
|
231
|
+
if @is_no_result == nil
|
232
|
+
@is_no_result = @html.include?('No Videos found')
|
233
|
+
end
|
234
|
+
@is_no_result
|
226
235
|
end
|
227
236
|
|
228
237
|
def check_video video
|
@@ -199,24 +199,25 @@ module Youtube #:nodoc:
|
|
199
199
|
end
|
200
200
|
|
201
201
|
def scrape_result_header
|
202
|
-
@search_result.search("div[@id='sectionHeader']
|
202
|
+
@search_result.search("div[@id='sectionHeader']").inner_html
|
203
203
|
end
|
204
204
|
|
205
205
|
def scrape_video_count
|
206
|
-
video_count = scrape_result_header
|
207
|
-
raise "no video count"
|
206
|
+
video_count = scrape_result_header
|
207
|
+
raise "no video count" unless video_count.sub!(/.+Results \d+-\d+ of( | about )([0-9,]+)/m , '\2')
|
208
|
+
video_count.gsub!(/,/, '')
|
208
209
|
video_count.to_i
|
209
210
|
end
|
210
211
|
|
211
212
|
def scrape_video_from
|
212
|
-
video_from = scrape_result_header
|
213
|
-
raise "no video from"
|
213
|
+
video_from = scrape_result_header
|
214
|
+
raise "no video from" unless video_from.sub!(/.+Results (\d+)/m, '\1')
|
214
215
|
video_from.to_i
|
215
216
|
end
|
216
217
|
|
217
218
|
def scrape_video_to
|
218
|
-
video_to = scrape_result_header
|
219
|
-
raise "no video to"
|
219
|
+
video_to = scrape_result_header
|
220
|
+
raise "no video to" unless video_to.sub!(/.+Results \d+-(\d+)/m, '\1')
|
220
221
|
video_to.to_i
|
221
222
|
end
|
222
223
|
|
metadata
CHANGED
@@ -3,7 +3,7 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: youtubesearchresultscraper
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
6
|
+
version: 0.0.6
|
7
7
|
date: 2007-02-16 00:00:00 +09:00
|
8
8
|
summary: This gem provide function to scrape html of search result on youtube
|
9
9
|
require_paths:
|