如何以编程方式搜索Google

如何以编程方式搜索Google

有谁知道是否以及如何通过编程方式搜索Google-尤其是如果有JavaAPI的话?



慕的地6264312
浏览 314回答 3
3回答

三国纷争

在谷歌服务条款我们可以读到:5.3您同意不通过Google提供的界面以外的任何其他方式访问(或试图访问)任何服务,除非在与Google的单独协议中特别允许您这样做。您特别同意不通过任何自动方式(包括使用脚本或Web爬虫)访问(或试图访问)任何服务,并应确保您遵守服务上任何robots.txt文件中的说明。所以我想答案是否定的。更多SOAPAPI不再可用

翻翻过去那场雪

要使用api搜索google,您应该使用Google自定义搜索,抓取网页是不允许在java中,您可以使用CustomSearchAPI客户端Java库maven依赖项是:<dependency> &nbsp;&nbsp;&nbsp;&nbsp;<groupId>com.google.apis</groupId> &nbsp;&nbsp;&nbsp;&nbsp;<artifactId>google-api-services-customsearch</artifactId> &nbsp;&nbsp;&nbsp;&nbsp;<version>v1-rev57-1.23.0</version></dependency>使用GoogleCustomSearchAPI客户端库进行示例代码搜索public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;throws&nbsp;GeneralSecurityException,&nbsp;IOException&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;searchQuery&nbsp;=&nbsp;"test";&nbsp;//The&nbsp;query&nbsp;to&nbsp;search &nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;cx&nbsp;=&nbsp;"002845322276752338984:vxqzfa86nqc";&nbsp;//Your&nbsp;search&nbsp;engine &nbsp;&nbsp;&nbsp;&nbsp;//Instance&nbsp;Customsearch &nbsp;&nbsp;&nbsp;&nbsp;Customsearch&nbsp;cs&nbsp;=&nbsp;new&nbsp;Customsearch.Builder(GoogleNetHttpTransport.newTrustedTransport(),&nbsp;JacksonFactory.getDefaultInstance(),&nbsp;null)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setApplicationName("MyApplication")&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.setGoogleClientRequestInitializer(new&nbsp;CustomsearchRequestInitializer("your&nbsp;api&nbsp;key"))&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.build(); &nbsp;&nbsp;&nbsp;&nbsp;//Set&nbsp;search&nbsp;parameter &nbsp;&nbsp;&nbsp;&nbsp;Customsearch.Cse.List&nbsp;list&nbsp;=&nbsp;cs.cse().list(searchQuery).setCx(cx);&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;//Execute&nbsp;search &nbsp;&nbsp;&nbsp;&nbsp;Search&nbsp;result&nbsp;=&nbsp;list.execute(); &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(result.getItems()!=null){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(Result&nbsp;ri&nbsp;:&nbsp;result.getItems())&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Get&nbsp;title,&nbsp;link,&nbsp;body&nbsp;etc.&nbsp;from&nbsp;search &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(ri.getTitle()&nbsp;+&nbsp;",&nbsp;"&nbsp;+&nbsp;ri.getLink()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;}}如你所见,你需要请求API密钥和设置自己的搜索引擎id,cx.请注意,在设置CX期间,您可以通过在基本选项卡设置上选择“搜索整个网站”来搜索整个网站,但是结果将与普通浏览器Google搜索不完全相同。目前(答案的日期),你每天得到100个API调用免费,然后谷歌喜欢分享你的利润。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java