示例#1
0
    def test_get(self):
        doc = get_html_doc('search_engines', 'google.com')
        req = download.Request(doc.url.url)
        with requests_mock.mock() as m:
            m.get(req.url, content=doc.body)
            resp = download.get(req)
            self.assertIsInstance(resp, download.HtmlDocument)
            self.assertEqual(resp.body, doc.body)

        with requests_mock.mock() as m:
            resp = download.get(req)
            self.assertIsInstance(resp, download.DownloadError)
    def test_get(self):
        doc = get_html_doc('search_engines', 'google.com')
        req = download.Request(doc.url.url)
        with requests_mock.mock() as m:
            m.get(req.url, content=doc.body)
            resp = download.get(req)
            self.assertIsInstance(resp, download.HtmlDocument)
            self.assertEqual(resp.body, doc.body)

        with requests_mock.mock() as m:
            resp = download.get(req)
            self.assertIsInstance(resp, download.DownloadError)
示例#3
0
def search(query_string=None, cmd=None, search_engine='google',
           max_download=5):
    engine = get_engine(search_engine)
    search_req = engine.get_search_request(query_string)
    search_result = get(search_req)
    if isinstance(search_result, DownloadError):
        raise SearchError('Failed search on {} ({})'.format(
            search_engine, search_result.status_code))
    urls = engine.get_hits(search_result)
    docs = iter_get([Request(u.url) for u in urls[:max_download]])

    return extract_commands(docs, base_commands=cmd)
def search(query_string=None,
           cmd=None,
           search_engine='google',
           max_download=5):
    engine = get_engine(search_engine)
    search_req = engine.get_search_request(query_string)
    search_result = get(search_req)
    if isinstance(search_result, DownloadError):
        raise SearchError('Failed search on {} ({})'.format(
            search_engine, search_result.status_code))
    urls = engine.get_hits(search_result)
    docs = iter_get([Request(u.url) for u in urls[:max_download]])

    return extract_commands(docs, base_commands=cmd)