2010-07-09 10 views
5

Ich bin dabei, einen Web Crawler/Spider zu machen, aber ich brauche jemanden, der mir in die richtige Richtung zeigen, um loszulegen.Machen Sie einen Web Crawler/Spider

Grundsätzlich wird meine Spinne nach Audiodateien suchen und sie indexieren.

Ich frage mich nur, ob jemand irgendwelche Ideen hat, wie ich es tun soll. Ich habe gehört, dass es in PHP extrem langsam wäre. Ich weiß, dass vb.net so nützlich sein könnte.

Ich habe über Googles Dateitypsuche nachgedacht, um Links zum Crawlen zu erhalten. Wäre das in Ordnung?

Antwort

2

In VB.NET müssen Sie zuerst den HTML-Code abrufen, also verwenden Sie die Klassen WebClient oder HttpWebRequest und HttpWebResponse. Es gibt viele Informationen darüber, wie Sie diese auf dem Interweb verwenden können.

Dann müssen Sie den HTML-Code analysieren. Ich empfehle, dafür reguläre Ausdrücke zu verwenden.

Ihre Idee, Google für eine Dateitypsuche zu verwenden, ist eine gute Idee. Ich habe vor ein paar Jahren eine ähnliche Sache gemacht, um PDFs zu sammeln, um die PDF-Indizierung in SharePoint zu testen, was sehr gut funktioniert hat.

+0

Danke, irgendeine Idee, wie ich Daten in meine Datenbank von einer Desktop-Vb-App einfügen könnte? –

+0

Hängt vom Geschmack der Datenbank ab. Es gibt den Namespace 'System.Data.SqlClient' für SQL Server. Für alles andere müssen Sie den Namespace 'System.Data.OleDb' betrachten. Es ist besser, eine Konsolen-VB-App zu verwenden, wenn dies unbeaufsichtigt ausgeführt werden soll. –

+2

In Bezug auf das Analysieren von HTML mit Regex .... http: //stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml -self-contained-tags Wahrscheinlich die einzige beste SO-Antwort aller Zeiten. – rfusca

2

Hier ist ein Link zu einem Tutorial zum Schreiben eines Web-Crawlers in Java. http://java.sun.com/developer/technicalArticles/ThirdParty/WebCrawler/ Ich bin sicher, wenn Sie es googlen, können Sie für andere Sprachen finden.

+0

Wenn Sie einen Web-Crawler in Java macht es haben Server-Seite sein? Im Moment bin ich auf Shared Hosting, das Java nicht erlaubt und ich kann es mir derzeit nicht leisten, einen dedizierten oder vps zu bekommen. –

+0

Nein, das könnte auf Ihrem Heimcomputer ausgeführt werden, wenn Sie das wollten. – qw3n

0

sollte Der Pseudo-Code wie:

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 

einige Daten von einer Webseite in Java Sie tun können, zu lesen:

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(); 
Verwandte Themen