提取电子邮件会将链接添加到其他页面
Jsoup 可用于从网页中提取链接和电子邮件地址,因此“Web 电子邮件地址收集器 bot”首先,此代码使用正则表达式提取电子邮件地址,然后使用 Jsoup 提供的方法提取链接的 URL 这页纸。
public class JSoupTest {
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://stackoverflow.com/questions/15893655/").userAgent("Mozilla").get();
Pattern p = Pattern.compile("[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+");
Matcher matcher = p.matcher(doc.text());
Set<String> emails = new HashSet<String>();
while (matcher.find()) {
emails.add(matcher.group());
}
Set<String> links = new HashSet<String>();
Elements elements = doc.select("a[href]");
for (Element e : elements) {
links.add(e.attr("href"));
}
System.out.println(emails);
System.out.println(links);
}
}
此代码也可以轻松扩展,以递归方式访问这些 URL 并从链接页面中提取数据。它也可以很容易地与不同的正则表达式一起使用来提取其他数据。
(请不要成为垃圾邮件发送者!)