<tr class="s">
<td style="text-align: center; width: 100px"></td>
<td colspan="3">
<a target="_blank" href="" title="Localiser avec Google Maps">
<img src="images/gm.gif?v=7" alt="Google Maps" class="gm noauto" align="right">
</a>
10, rue Edmond Rostand - 13006 MARSEILLE
<br>
<strong>Tél :</strong> 04.33.54.03.09<br>
<strong>Fax :</strong> 04.11.54.29.85<br>
<strong>Email :</strong> <a href="mailto:wsedrftg.tgtg.rftg@gmail.com" class="icone email">wsedrftg.tgtg.rftg@gmail.com</a><br>
<strong>Début d'activité :</strong> 10/06/2013<br>
</td>
</tr>
我正在尝试从上面的代码中提取电子邮件,电话,姓名和日期。我设法得到了姓名和电子邮件地址,但我被困住了。
我还希望获得电话,日期和传真,这似乎是外部因素。
for (Element headline : newsHeadlines)
{
Elements trs = headline.select("tr.t");
Elements phnDiv = headline.select("tr.s td:eq(1)");
for (int l = 0; l < trs.size(); l++)
{
j++;
Elements name = trs.get(l).select("th");
Elements emailAddress = phnDiv.get(l).select("a");
Elements phone = phnDiv.get(l).select("strong:contains(Tél :)");
Elements faxx = phnDiv.get(l).select("strong:contains(Fax :)");
//Elements debutdactivite = phnDiv.get(l).select("strong:contains(Début d'activité :)");
String contactName = name.text();
String email = emailAddress.text();
String tel = phone.text().replace("Tél :", "");
String fax = faxx.text().replace("Fax :", "");
//String date = debutdactivite.text();
System.out.println(j + " Name : " + contactName + " Email : " + email + " Phone : " + tel + " Fax : " + fax );
}
}
答案 0 :(得分:2)
您应该可以使用nextSibling()
方法获取这些值。它返回Node
,因此您不必担心元素内的值。
获取所需的元素后,代码将如下所示:
String tel = phone.nextSibling().toString();
String fax = faxx.nextSibling().toString();
这将直接抓取已选择的手机和faxx元素旁边的节点。
答案 1 :(得分:0)
我不认为您可以使用jsoup
来获取您想要的部分,因为他们不是元素......
你可以做的是获取html()
- 元素的<th>
,然后使用正则表达式来获取电话,传真和日期这样的正则表达式
"<.*Fax.*> (.*?)<br>"
应该像这样工作
@Test
public void test() {
final Pattern p = Pattern.compile("<.*?Fax.*?> (.*?)<br>");
final Matcher m = p.matcher("<strong>Tel :</strong> 04.11.55.29.85<br> <strong>Fax :</strong> 04.11.55.29.85<br>");
m.matches();
assertEquals("04.11.54.29.85", m.group(1));
}
答案 2 :(得分:0)
{{1}}
现在,在我运行之后,我得到了所有结果,感谢@Justin为此带来了亮点。