我正在编写一个Java程序,我想要一个函数,给定一个字符串,返回从该查询返回的搜索形成的Google命中数.我怎样才能做到这一点?(奖励指向相同的答案,但与Bing相反.)
例如,googleHits("Has anyone really been far even as decided to use even go want to do look more like?")
将返回131,000,000.(或者有很多.)
相关:如何以编程方式访问"你是说"的建议?(例如,搜索"teh circuz"返回"你的意思是马戏团?")
找到了它: http ://code.google.com/apis/ajaxsearch/documentation/#fonje
Google服务条款说明了这一点:
5.3您同意不通过Google提供的界面以任何方式访问(或试图访问)任何服务,除非您在与Google的单独协议中明确允许这样做.您明确同意不通过任何自动方式(包括使用脚本或网络爬虫)访问(或尝试访问)任何服务,并应确保您遵守服务中存在的任何robots.txt文件中的说明. .
如果您违反服务条款,谷歌有办法让您/您的公司生活不愉快......
更新:第二句是关于您使用 Google服务的方式......包括他们发布的API.从措辞中可以清楚地看出什么是允许的,什么是被禁止的; 从字面上讲,"任何自动化手段"都非常广泛.然而,一个执行Google搜索的Java应用程序,屏幕删除结果并重新打包它们以提供一些增值服务(IMO)将违反TOS.使用谷歌发布的API做同样的事情(IMO)也是违规行为.
但这是我的意见,而不是谷歌的.谷歌的意见很重要.如果有人想做这样的事情,他们应该联系谷歌并检查他们提出的建议是否正常.
重点是谷歌不会帮助人们颠覆他们的搜索业务模式.任何认为他们可以根据对服务条款的一些巧妙解释而侥幸逃脱的人都会被烧毁.