首页 文章

在Google自定义搜索API中指定日期范围

提问于
浏览
0

在特定日期范围内搜索特定网站中的一组关键字非常简单 - >在您输入的Google搜索框中:desired-kewords site:desired-website然后从工具菜单中选择日期范围 . 例如这里"arab spring"在2011年1月1日到2013年12月31日期间在www.cnn.com上搜索词:
enter image description here

正如您在第二张图片中看到的,大约有773个结果!搜索URI如下所示:

https://www.google.co.nz/search?tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2011%2Ccd_max%3A12%2F31%2F2013&ei=iDcnWoy3Jsj38QW514S4Aw&q=arab+spring+site%3Awww.cnn.com&oq=arab+spring+site%3Awww.cnn.com&gs_l=psy-ab.12...0.0.0.6996.0.0.0.0.0.0.0.0..0.0....0...1c..64.psy-ab..0.0.0....0.a4-ff19obY4日期范围可以在tbs参数的cd_min和cd_max中看到(无论何时使用工具菜单,都会在URI中出现)

我想以编程方式使用Google的python自定义搜索API客户端获得相同的功能 . 我定义了一个自定义搜索引擎:

enter image description here

然后尝试了我在网络/堆栈溢出时发现的不同建议:

好!任何工作方案?

1 回答

  • 1

    我可能会迟到,但对于寻找解决方案的其他人,您可以尝试这样做:

    from googleapiclient.discovery import build
    
    my_api_key = "YOUR_API_KEY"
    my_cse_id = "YOUR_CSE_ID"
    
    def google_results_count(query):
        service = build("customsearch", "v1",
                        developerKey=my_api_key)
        result = service.cse().list(q=query, cx=my_cse_id, sort="date:r:20110101:20131231").execute()
        return result["searchInformation"]["totalResults"]
    
    print google_results_count('arab spring site:www.cnn.com')
    

    此代码将返回大约1500个结果 .

    它离网络结果还很远,Google has an explanation why .

    此外,如果您尚未设置CSE来搜索整个网络,here's a guide on how to set it up.

    附:如果您仍想获取Web版本的结果/数据,可以使用BeautifulSoup或其他库来删除它 .

相关问题