繁体   English   中英

使用JSOUP获得网页的一部分

[英]Get a part of a webpage using JSOUP

我正在尝试以编程方式在Google中搜索单词的含义,并将其含义保存在计算机中的文件中。 我已成功调用该页面并在Document(org.jsoup.nodes.Document)中得到响应。 现在,我不知道如何仅从本文档中获得含义。 请在我已指示所需数据部分的屏幕快照中找到。 在此处输入图片说明

响应html太大,以至于我无法理解我将从哪个元素中获取所需的数据。 请帮忙。 到目前为止,这是我所做的:

public class Search {
     private static Pattern patternDomainName;
  private Matcher matcher;
  private static final String DOMAIN_NAME_PATTERN 
    = "([a-zA-Z0-9]([a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])?\\.)+[a-zA-Z]{2,6}";

  static {
    patternDomainName = Pattern.compile(DOMAIN_NAME_PATTERN);
  }





  public static void main(String[] args) {

      Search obj = new Search();
    Set<String> result = obj.getDataFromGoogle("debug%20meaning");
    for(String temp : result){
        System.out.println(temp);
    }
    System.out.println(result.size());
  }





  public String getDomainName(String url){

    String domainName = "";
    matcher = patternDomainName.matcher(url);
    if (matcher.find()) {
        domainName = matcher.group(0).toLowerCase().trim();
    }
    return domainName;

  }




  private Set<String> getDataFromGoogle(String query) {

    Set<String> result = new HashSet<String>(); 
    String request = "https://www.google.com/search?q=" + query + "&num=20";
    System.out.println("Sending request..." + request);

    try {

        // need http protocol, set this as a Google bot agent :)
        Document doc = Jsoup
            .connect(request)
            .userAgent(
              "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)")
            .timeout(5000).get();


        /**********Here comes my data fetching logic*****************
         * Dont know where to fing my desired data in such a big html
         */

    /*
        String sc = doc.html().replaceAll("\\n", "");
        System.out.println(doc.html());
        */

    } catch (IOException e) {
        e.printStackTrace();
    }

    return result;
  }

}

Google Dictionary API已弃用! 但是,您可以使用此http://google-dictionary.so8848.com/服务,而不是通过当前正在执行的google搜索URI进行抓取,最好是更轻松地从中抓取数据目前正在做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM