Jsoup Extraer direcciones de correo electrónico y enlaces a otras páginas.


Ejemplo

Jsoup se puede usar para extraer enlaces y direcciones de correo electrónico de una página web, por lo tanto, "bot de recopilador de direcciones de correo electrónico web" Primero, este código usa una expresión regular para extraer las direcciones de correo electrónico, y luego utiliza los métodos proporcionados por Jsoup para extraer las URL de los enlaces. la página.

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);

    }

}

Este código también se puede extender fácilmente para visitar recursivamente esas URL y extraer datos de páginas vinculadas. También se podría usar fácilmente con una expresión regular diferente para extraer otros datos.

(Por favor, no te conviertas en un spammer!)