【问题标题】:Java-Jsoup, scrape htmlJava-Jsoup,抓取 html
【发布时间】:2013-06-17 22:49:30
【问题描述】:

我正在使用 Jsoup 和 Java 来解析 HTML 文件。我的问题是如何才能提取“每小时费率:23,016 个订单”的行 我正在解析很多文件,所以 Hourly Rate 旁边的数字会改变。

<html>
<head>
<title>Testing</title>
</head>
<body>
<p class=MsoNormal align=center style='background:#DEDEDF'>
<span style='font-size:18.0pt'><b>Testing</b></span></p>
Hourly Rate: 23,016 orders<br>
<table border=0 cellpadding=0>
<tr valign=top>
<td>

谢谢

【问题讨论】:

    标签: java html web-scraping jsoup


    【解决方案1】:

    我刚刚添加了这段代码:

     String HourlyRate = doc.body().ownText();
    //String text = doc.body().text();
    
    System.out.println(HourlyRate);
    

    打印出来的: 每小时费率:23,016 个订单

    【讨论】:

      【解决方案2】:

      获取 MsoNormal 类,然后使用正则表达式查找数字,即

      Document doc = Jsoup.parse(htmlString);
      Element msoNormal = doc.getElementsByClass("MsoNormal").first();
      if(msoNormal!=null){
        Pattern p = Pattern.compile("[0-9]+,[0-9]+");
        Matcher m = pattern.matcher(msoNormal.text());
        if(matcher.find())
          System.out.println(m.get());
      }
      

      【讨论】:

      • 感谢 selig 的响应“我得到了“模式”和“匹配器”类。我的 IDE 找不到它们。
      • 您需要从java.util.regex导入它们
      猜你喜欢
      • 2014-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-21
      • 2016-09-04
      相关资源
      最近更新 更多