2010-07-09 25 views
5

Estoy buscando hacer un rastreador web/araña pero necesito que alguien me señale en la dirección correcta para comenzar.Hacer un rastreador web/araña

Básicamente, mi araña va a buscar archivos de audio y el índice de ellos.

me pregunto si alguien tiene alguna idea de cómo debería hacerlo. He oído que hacerlo en PHP sería extremadamente lento. Sé que vb.net podría ser útil?

Estaba pensando acerca del uso de Google de búsqueda de tipo de archivo para conseguir enlaces a gatear. ¿Estaría bien?

Respuesta

2

En VB.NET que se necesita para obtener el código HTML en primer lugar, a fin de utilizar la clase WebClient o clases HttpWebRequest y HttpWebResponse. Hay mucha información sobre cómo usar estos en el interweb.

A continuación, deberá analizar el código HTML. Recomiendo usar expresiones regulares para esto.

Su idea de usar Google para una búsqueda de tipo de archivo es una buena. Hace unos años, hice algo similar para reunir archivos PDF para probar la indexación de PDF en SharePoint, que funcionó muy bien.

+0

Gracias, ¿alguna idea de cómo podría insertar datos en mi base de datos desde una aplicación vb de escritorio? –

+0

Depende del sabor de la base de datos. Existe el espacio de nombres 'System.Data.SqlClient' para SQL Server. Para cualquier otra cosa, tendrá que mirar el espacio de nombres 'System.Data.OleDb'. Es mejor usar una aplicación VB de consola si desea que esto se ejecute desatendido –

+2

En lo que respecta al análisis de HTML con regex ... http: //stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml -self-contained-tags Probablemente la mejor respuesta SO nunca. – rfusca

2

Aquí hay un enlace en un tutorial sobre cómo escribir un rastreador web en Java. http://java.sun.com/developer/technicalArticles/ThirdParty/WebCrawler/ Estoy seguro de que si lo buscas en Google puedes encontrar uno para otros idiomas.

+0

Si comete un rastreador web en Java tiene que ser del lado del servidor? En este momento estoy en hosting compartido que no permite Java y actualmente no puedo permitirme obtener un dedicado o vps. –

+0

No, esto podría ejecutarse en la computadora de su casa si así lo desea. – qw3n

0

El pseudo código debe ser como:

Method spider(URL startURL){ 
Collection URLStore; // Can be an arraylist 
    push(startURL,URLStore);// start with a know url 
     while URLStore ! Empty do 
     currURL= pop(URLStore); //take an url 
     download URL page; 
     push (URLx, URLStore); //for all links to URL in the page which are not already followed, then put in the list 

para leer algunos datos de una página Web en Java que puede hacer:

URL myURL = new URL("http://www.w3.org"); 
BufferedReader in = new BufferedReader(new InputStreamReader(myURL.openStream())); 
String inputLine; 
while ((inputLine = in.readLine()) != null) //you will get all content of the page 
System.out.println(inputLine); // here you need to extract the hyperlinks 
in.close(); 
Cuestiones relacionadas