【问题标题】:Java Web Crawler for retrieving google search results用于检索 google 搜索结果的 Java Web Crawler
【发布时间】:2016-12-27 14:05:06
【问题描述】:

这个问题已经被问过很多次了。然而,一些 API 已经随着时间的推移发生了变化,我想知道实现这一点的好方法。

最好的方法是使用谷歌搜索 api。但是,https://developers.google.com/custom-search/json-api/v1/overview 表示每天只有 100 个免费搜索查询。我需要更多,我不想花钱。

我使用简单的 REST api 进行了尝试,但它主要是 JavaScript 代码,我似乎没有在响应中找到我需要的内容。

我尝试使用一些库,例如 http://jsoup.org/ ,但是,即使它的响应也不包含我需要的信息。

【问题讨论】:

    标签: java javascript google-search google-search-api


    【解决方案1】:

    查看这个 Jsoup Crawler 示例: http://www.mkyong.com/java/jsoup-send-search-query-to-google/

    在 java 中我使用 crawler4j: https://code.google.com/p/crawler4j/

    【讨论】:

      【解决方案2】:

      我尝试使用 Jsoup 并且它成功了,尽管前几个结果包含一些不需要的字符。下面是我的代码

      package crawl_google;
      import org.jsoup.Jsoup;
      import org.jsoup.nodes.Document;
      import org.jsoup.nodes.Element;
      import org.jsoup.select.Elements;
      public class googleResults {
      public static void main(String[] args) throws Exception{
      //pass the search query and the number of results as parameters
      google_results("Natural Language Processing", 10);
      }
      public static void google_results(String keyword, int no_of_results) throws Exception
      {
      //Replace space by + in the keyword as in the google search url
      keyword = keyword.replace(" ", "+");
      String url = "https://www.google.com/search?q=" + keyword + "&num=" + String.valueOf(no_of_results);
      //Connect to the url and obain HTML response
      Document doc = Jsoup
      .connect(url)
      .userAgent("Mozilla")
      .timeout(5000).get();
      //parsing HTML after examining DOM
      Elements els = doc.select("li.g");
      for(Element el : els)
      {
      //Print title, site and abstract
      System.out.println("Title : " + el.getElementsByTag("h3").text());
      System.out.println("Site : " + el.getElementsByTag("cite").text());
      System.out.println("Abstract : " + el.getElementsByTag("span").text() + "\n");
      }
      }
      }
      

      【讨论】:

        猜你喜欢
        • 2011-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-23
        • 1970-01-01
        相关资源
        最近更新 更多