static L> quickGoogle(S query) { new L> out; S userAgent = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0"; S html = loadPageWithUserAgent("http://google.com/search?q=" + urlencode(query) + "&lr=lang_en&hl=en", userAgent); S url = first(loadPage_responseHeaders->get("Location")); if (url != null) html = loadPageWithUserAgent(url, userAgent); LL h3s = findContainerTagDeep(html, "h3"); for (L tok : h3s) { L linkTok = first(findContainerTag(tok, "a")); if (empty(linkTok)) continue; S link = tagGet(second(linkTok), "href"); continue unless isAbsoluteURL(link); S text = htmldecode(join(dropTags(contentsOfContainerTag(linkTok)))); out.add(pair(link, text)); } ret out; }