本文探讨以编程方式搜索 Google 的过程,特别关注用于此目的的 Java API 的可用性。
使用 Google 网络搜索API
最初,Google 提供了一个返回 JSON 格式数据的公共网络搜索 API。然而,此服务已被弃用。截至 2010 年 11 月,最佳替代方案是直接使用用户代理查询 Google 搜索引擎,然后使用 Jsoup 等解析器解析 HTML 响应。
Java 实现
首先,我们设置变量并建立搜索 URL:
String google = "http://www.google.com/search?q="; String search = "stackoverflow"; String charset = "UTF-8"; String userAgent = "ExampleBot 1.0 (+http://example.com/bot)"; // Customize for your bot
接下来,我们使用Jsoup 发出 HTTP 请求并解析 HTML:
Elements links = Jsoup.connect(google + URLEncoder.encode(search, charset)).userAgent(userAgent).get().select(".g>.r>a");
最后,我们迭代搜索结果并提取标题和 URL:
for (Element link : links) { String title = link.text(); String url = link.absUrl("href"); url = URLDecoder.decode(url.substring(url.indexOf('=') + 1, url.indexOf('&')), "UTF-8"); if (!url.startsWith("http")) { continue; // Ads/news/etc. }
以上是Java 可以在没有专用 API 的情况下以编程方式搜索 Google 吗?的详细内容。更多信息请关注PHP中文网其他相关文章!