mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[skip travis] renaming
to avoid using same folder when using pip install for example
This commit is contained in:
		
							
								
								
									
										59
									
								
								youtube_dlc/extractor/googlesearch.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								youtube_dlc/extractor/googlesearch.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import itertools | ||||
| import re | ||||
|  | ||||
| from .common import SearchInfoExtractor | ||||
|  | ||||
|  | ||||
| class GoogleSearchIE(SearchInfoExtractor): | ||||
|     IE_DESC = 'Google Video search' | ||||
|     _MAX_RESULTS = 1000 | ||||
|     IE_NAME = 'video.google:search' | ||||
|     _SEARCH_KEY = 'gvsearch' | ||||
|     _TEST = { | ||||
|         'url': 'gvsearch15:python language', | ||||
|         'info_dict': { | ||||
|             'id': 'python language', | ||||
|             'title': 'python language', | ||||
|         }, | ||||
|         'playlist_count': 15, | ||||
|     } | ||||
|  | ||||
|     def _get_n_results(self, query, n): | ||||
|         """Get a specified number of results for a query""" | ||||
|  | ||||
|         entries = [] | ||||
|         res = { | ||||
|             '_type': 'playlist', | ||||
|             'id': query, | ||||
|             'title': query, | ||||
|         } | ||||
|  | ||||
|         for pagenum in itertools.count(): | ||||
|             webpage = self._download_webpage( | ||||
|                 'http://www.google.com/search', | ||||
|                 'gvsearch:' + query, | ||||
|                 note='Downloading result page %s' % (pagenum + 1), | ||||
|                 query={ | ||||
|                     'tbm': 'vid', | ||||
|                     'q': query, | ||||
|                     'start': pagenum * 10, | ||||
|                     'hl': 'en', | ||||
|                 }) | ||||
|  | ||||
|             for hit_idx, mobj in enumerate(re.finditer( | ||||
|                     r'<h3 class="r"><a href="([^"]+)"', webpage)): | ||||
|  | ||||
|                 # Skip playlists | ||||
|                 if not re.search(r'id="vidthumb%d"' % (hit_idx + 1), webpage): | ||||
|                     continue | ||||
|  | ||||
|                 entries.append({ | ||||
|                     '_type': 'url', | ||||
|                     'url': mobj.group(1) | ||||
|                 }) | ||||
|  | ||||
|             if (len(entries) >= n) or not re.search(r'id="pnnext"', webpage): | ||||
|                 res['entries'] = entries[:n] | ||||
|                 return res | ||||
		Reference in New Issue
	
	Block a user
	 Unknown
					Unknown