用于图片搜索的Google Custom Search API - 意外结果后跟403

时间:2015-01-08 16:31:22

标签: search google-search-api google-image-search

我已关注this guidethis reference来创建自定义搜索引擎。

我创建它只是为了从Google获取图像网址以在我的应用程序中使用。

但是,当我使用一个非常常见的查询(例如q=heinz+baked+beans)对其进行测试时,结果与您在Google图片(或Google)中执行相同搜索时获得的结果完全不同。

以下是我正在使用的API网址:

SEARCH_URL_BASE = "https://www.googleapis.com/customsearch/v1" +
                "?key=PRIVATE" +
                "&cx=PRIVATE" + 
                "&cr=countryUK" +
                //"&exactTerms=heinz+baked+beans" +
                "&gl=uk" +
                "&googlehost=google.co.uk" +
                "&imgSize=medium" +
                "&imgType=photo" +
                "&safe=high" +
                "&searchType=image&fileType=jpg" +
                "&q=heinz+baked+beans"; //append the query

当您在浏览器中手动尝试此搜索时,最高结果(在images.google.co.uk和google.co.uk中)来自heinz.co.uk,但是当我通过API进行查询时,结果无处可见。

我已尝试将heinz.co.uk添加到“我的自定义搜索设置”屏幕中的Sites to search字段,该字段产生了来自API的403个响应,因此我将其还原为没有Sites to search(与Search the entire web...已选中),但我仍然收到403错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我创建了一个新的Google帐户(使用全新的电子邮件地址 - 因此,没有搜索历史记录以尝试克服Google's personalization 'feature')并创建了一个新的密钥和自定义搜索引擎。这可能会使结果不那么自定义 - 但我仍然在试验这个。

但是,我仍在为这个新设置获得403响应,我能想到的唯一原因是我太快地解雇了我的请求。我的应用程序在每个请求之间休眠了1000毫秒,但似乎这还不够(即使我完全不满足每天允许的1,000个请求)。我将尝试逐渐增加此睡眠间隔,并使用请求之间所需的最佳睡眠间隔更新此答案。