java - 在java中获取google的搜索结果

标签 java search

我在这个程序中得到了 403 响应码,但我需要得到 200 才能返回搜索结果,我该怎么办?

      String url="http://www.google.com/search?q=";
      String charset="UTF-8";
      String key="java";
      String query = String.format("%s",URLEncoder.encode(key, charset));
      URLConnection con = new URL(url+ query).openConnection();
      BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
      String inputLine;
      while ((inputLine = in.readLine()) != null) 
      System.out.println(inputLine);
      in.close();

最佳答案

试试JSoup

Document document = Jsoup
        .connect("http://www.google.com/search?q=" + query)
        .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0")     
        .get();

System.out.println(document.html());

要提取链接,请使用 selector api .

依赖:

<dependency>
  <!-- jsoup HTML parser library @ http://jsoup.org/ -->
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.7.3</version>
</dependency>

关于java - 在java中获取google的搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20758824/

相关文章:

Mysql 在一列中搜索文本

java - 如何从视频中提取位图?

java - 使用回溯算法排列字符串

java - 为什么要转换一个已经被标识为特定类的对象?

C++——返回 "true"的函数,但 "if"语句未将其视为 true

JavaScript 搜索特定字符串

java - JPA - 针对特定数据库用户执行查询

java - R/Java .jar - 设置环境变量。未找到 native JRI 库

search - 在Elasticsearch中按子项聚合过滤父项

mysql - SQL 修剪通配符模式