From c4774443674914e4412e76a7dfea48fb1da69ee0 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 11 Oct 2018 19:06:24 +0530 Subject: [PATCH] Handle change of markup on google search pages --- src/calibre/ebooks/metadata/sources/search_engines.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/calibre/ebooks/metadata/sources/search_engines.py b/src/calibre/ebooks/metadata/sources/search_engines.py index a9509c9054..c8214f3c7b 100644 --- a/src/calibre/ebooks/metadata/sources/search_engines.py +++ b/src/calibre/ebooks/metadata/sources/search_engines.py @@ -17,7 +17,7 @@ from calibre import browser as _browser, prints, random_user_agent from calibre.utils.monotonic import monotonic from calibre.utils.random_ua import accept_header_for_ua -current_version = (1, 0, 1) +current_version = (1, 0, 2) minimum_calibre_version = (2, 80, 0) @@ -230,13 +230,13 @@ def google_search(terms, site=None, br=None, log=prints, safe_search=False, dump ans = [] for div in root.xpath('//*[@id="search"]//*[@id="rso"]//*[@class="g"]'): try: - a = div.xpath('descendant::h3[@class="r"]/a[@href]')[0] + a = div.xpath('descendant::div[@class="r"]/a[@href]')[0] except IndexError: log('Ignoring div with no descendant') continue title = tostring(a) try: - c = div.xpath('descendant::div[@class="s"]//a[@class="fl"]')[0] + c = div.xpath('descendant::div[@role="menu"]//a[@class="fl"]')[0] except IndexError: log('Ignoring {!r} as it has no cached page'.format(title)) continue @@ -248,9 +248,9 @@ def google_search(terms, site=None, br=None, log=prints, safe_search=False, dump return ans, url -def google_develop(): +def google_develop(search_terms='1423146786'): br = browser() - for result in google_search('1423146786'.split(), 'www.amazon.com', dump_raw='/t/raw.html', br=br)[0]: + for result in google_search(search_terms.split(), 'www.amazon.com', dump_raw='/t/raw.html', br=br)[0]: if '/dp/' in result.url: print(result.title) print(' ', result.url)