]>
Raphaƫl G. Git Repositories - youtubedl/blob - youtube_dl/extractor/googlesearch.py
383032d81b1c9bd965be9caee8adefd79547b208
   1 from __future__ 
import unicode_literals
 
   6 from .common 
import SearchInfoExtractor
 
  12 class GoogleSearchIE(SearchInfoExtractor
): 
  13     IE_DESC 
= 'Google Video search' 
  15     IE_NAME 
= 'video.google:search' 
  16     _SEARCH_KEY 
= 'gvsearch' 
  18     def _get_n_results(self
, query
, n
): 
  19         """Get a specified number of results for a query""" 
  28         for pagenum 
in itertools
.count(): 
  30                 'http://www.google.com/search?tbm=vid&q=%s&start=%s&hl=en' 
  31                 % (compat_urllib_parse
.quote_plus(query
), pagenum 
* 10)) 
  33             webpage 
= self
._download
_webpage
( 
  34                 result_url
, 'gvsearch:' + query
, 
  35                 note
='Downloading result page ' + str(pagenum 
+ 1)) 
  37             for hit_idx
, mobj 
in enumerate(re
.finditer( 
  38                     r
'<h3 class="r"><a href="([^"]+)"', webpage
)): 
  41                 if not re
.search(r
'id="vidthumb%d"' % (hit_idx 
+ 1), webpage
): 
  49             if (len(entries
) >= n
) or not re
.search(r
'id="pnnext"', webpage
): 
  50                 res
['entries'] = entries
[:n
]