如何使用Jsoup从网页中提取多个电子邮件地址?

时间:2015-06-24 08:18:08

标签: java regex jsoup

我有一些网站列表,我需要从这些网站上联系页面并使用jsoup为每个网站提取电子邮件ID。我使用java.util.regex.Pattern获取电子邮件ID代码如下所示

Matcher m = Pattern.compile("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+").matcher(doc.toString());
if (m.find()) {             
 email= m.group();              
 System.out.println(email);
}

我遇到了一个网站,其中包含多个电子邮件地址,但上面的代码只获得了一个首先遇到的电子邮件ID。我想从该页面获取所有电子邮件ID。

我尝试使用下面的代码,但仍然得到所有的垃圾

Elements elements =  doc.getElementsMatchingText(Pattern.compile("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+"));
for(Element element: elements){
System.out.println(element.toString());
}

如何从网页上获取所有电子邮件ID? 请帮帮我。

1 个答案:

答案 0 :(得分:1)

您需要使用while循环而不是if条件,以便为每场比赛打印。

while (m.find()) {             
 email= m.group();              
 System.out.println(email);
}

OR

while (m.find()) {                         
     System.out.println(m.group());
    }