Tengo el proyecto de escribir una araña para unos sitios de Internet. Con esa idea, me bajé WebSphinx una librería para escribir precisamente arañas que parece muy completa. Y la verdad, me he puesto a probarla hoy, intentando crear el mínimo programa que recorriese un sitio, y es tan fácil como esto:
import websphinx.*;
public class TestCrawl {
public TestCrawl() {
}
public static void main(String[] args) throws java.net.MalformedURLException {
Crawler myCrawler=new Crawler();
myCrawler.setDomain(Crawler.SERVER);
myCrawler.addLinkListener(new MyLinkListener());
myCrawler.setRoot(new Link("http://www.pjorge.com/"));
myCrawler.run();
}
}
class MyLinkListener implements LinkListener {
int i;
public void crawled(LinkEvent event) {
String hola=event.getLink().getHost();
if(!hola.startsWith("www.pjorge.com"))
{
System.out.println(i+": "+(event.getLink()).getHost());
i++;
}
}
}
Parece contener todo lo que necesito. De hecho, añadir funcionalidades más complejas no parece en absoluto complicado.
Seguiré probando.
Y por cierto, este sitio contiene más de 15.000 enlaces. Haciendo una estimación rápida, pues efectivamente las cifras van por ahí.
He traducido del alemán un libro de relatos de Haruki Murakami cuyo título es "De cómo yo una bonita mañana de abril vi a la chica 100%". No sé si estará editado en inglés (en español no). Si tienes interés en ello, contacta conmigo. Gracias.