提取電子郵件會將連結新增到其他頁面
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 並從連結頁面中提取資料。它也可以很容易地與不同的正規表示式一起使用來提取其他資料。
(請不要成為垃圾郵件傳送者!)