需要:通过API搜索谷歌并获取一个json结果,模仿我在webapi上搜索时找到的结果
我的Custom Search
设置是搜索整个网络
我的搜索结果:
搜索词:072745546181
(这是一些鸡胸肉的UPC标签)
https://www.googleapis.com/customsearch/v1?key=AIzaSyBaPxycT3gj82T5qm66XGgIvtSEP31LISo&cx=015261035819156121642:qj7jmhlymjw&q=072745546181
网页搜索返回(查看结果)
搜索词:072745546181
(这是一些鸡胸肉的UPC标签)
示例1:https://www.google.de/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=072745546181
请注意,最后的q=
与q=072745546181
必须有一个简单的答案,我在这里做错了什么?
相反,用像唐纳德特朗普总统那样的词语进行搜索"
https://www.googleapis.com/customsearch/v1?key=AIzaSyBaPxycT3gj82T5qm66XGgIvtSEP31LISo&cx=015261035819156121642:qj7jmhlymjw&q=donald trump president
返回一个好的结果我可以做点什么。这里没问题,但为什么在搜索UPC时失败了呢?
我该怎么办?
更新1.26.17 - 增加50点奖金,我可以赚更多。什么是正常率?需要一些帮助!
答案 0 :(得分:1)
这是一个引人入胜的问题。我刚刚运行了一系列测试,确认如果关键字包含超过8位数字(即使用空格或连字符分隔),它们会被奇怪地处理。它们不会被简单地忽略 - 因为找到了这个SO页面 - 但大多数网站都没有被退回。我对这种行为的最佳猜测是,它是谷歌的一个故意过滤器,用于限制数字搜索到“受信任”的网站,以防止电话号码查找。甚至可能是限制UPC,政府记录和专利查询的更积极举措,因此自动化工具无法与目前或计划中的Google服务竞争。
我尝试了各种各样的测试,包括inurl%3A072745546181
,allintitle%3A0727+4554+6181
等高级操作符,以及常规搜索中出现的定位网站,例如url%3Abuycott.com+072745546181
,行为是一致的。它是如此一致,必须是故意的。
我敢说95%的确定你无法通过自定义搜索做到你想做的事情,谷歌很可能会为你提供一个解决方法。
我建议您尝试其他搜索API提供商,可能是Bing网页搜索API或Faroo或其中一个product search APIs
答案 1 :(得分:0)
这是一个古老的,但仍然有意义。您必须创建一个自定义搜索引擎才能在此处查找UPC:https://cse.google.com/all
这样做后,您需要添加要搜索的网站(例如https://www.barcodespider.com,https://www.upcitemdb.com)
从那里,您的cURL看起来像这样:
curl -X GET \
'https://www.googleapis.com/customsearch/v1?key={{googleApiKey}}&cx={{googleUpcSearchEngineCode}}&q=034449787178' \
-H 'Accept: */*' \
-H 'Cache-Control: no-cache' \
该请求将通过在指定站点内搜索UPC来过滤结果。
〜干杯