aboutsummaryrefslogtreecommitdiffstats
path: root/hypervideo_dl/extractor/googlesearch.py
diff options
context:
space:
mode:
Diffstat (limited to 'hypervideo_dl/extractor/googlesearch.py')
-rw-r--r--hypervideo_dl/extractor/googlesearch.py21
1 files changed, 9 insertions, 12 deletions
diff --git a/hypervideo_dl/extractor/googlesearch.py b/hypervideo_dl/extractor/googlesearch.py
index f605c0c..4b8b1bc 100644
--- a/hypervideo_dl/extractor/googlesearch.py
+++ b/hypervideo_dl/extractor/googlesearch.py
@@ -8,36 +8,33 @@ from .common import SearchInfoExtractor
class GoogleSearchIE(SearchInfoExtractor):
IE_DESC = 'Google Video search'
- _MAX_RESULTS = 1000
IE_NAME = 'video.google:search'
_SEARCH_KEY = 'gvsearch'
- _WORKING = False
- _TEST = {
+ _TESTS = [{
'url': 'gvsearch15:python language',
'info_dict': {
'id': 'python language',
'title': 'python language',
},
'playlist_count': 15,
- }
+ }]
+ _PAGE_SIZE = 100
def _search_results(self, query):
for pagenum in itertools.count():
webpage = self._download_webpage(
- 'http://www.google.com/search',
- 'gvsearch:' + query,
- note='Downloading result page %s' % (pagenum + 1),
+ 'http://www.google.com/search', f'gvsearch:{query}',
+ note=f'Downloading result page {pagenum + 1}',
query={
'tbm': 'vid',
'q': query,
- 'start': pagenum * 10,
+ 'start': pagenum * self._PAGE_SIZE,
+ 'num': self._PAGE_SIZE,
'hl': 'en',
})
- for hit_idx, mobj in enumerate(re.finditer(
- r'<h3 class="r"><a href="([^"]+)"', webpage)):
- if re.search(f'id="vidthumb{hit_idx + 1}"', webpage):
- yield self.url_result(mobj.group(1))
+ for url in re.findall(r'<div[^>]* class="dXiKIc"[^>]*><a href="([^"]+)"', webpage):
+ yield self.url_result(url)
if not re.search(r'id="pnnext"', webpage):
return