Java-Jsoup,scrape html

时间:2013-06-17 13:12:31

标签: java html web-scraping jsoup

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

<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>

由于

2 个答案:

答案 0 :(得分:1)

我刚刚添加了这段代码:

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

System.out.println(HourlyRate);

这印刷出来: 每小时收费:23,016个订单

答案 1 :(得分:0)

抓住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());
}