提取電子郵件會將連結新增到其他頁面

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 並從連結頁面中提取資料。它也可以很容易地與不同的正規表示式一起使用來提取其他資料。

(請不要成為垃圾郵件傳送者!)