Spider bot

di il
7 risposte

Spider bot

Salve vorrei fare uno spider in Java che controlli se un url è attivo o no.
Non sapevo però che struttura usare, cioè lo scrivo in una jsp chiamata da una pagina html?

7 Risposte

  • Re: Spider bot

    giulio0 ha scritto:


    Salve vorrei fare uno spider in Java che controlli se un url è attivo o no.
    Non sapevo però che struttura usare, cioè lo scrivo in una jsp chiamata da una pagina html?
    Purtroppo non è particolarmente chiaro. Uno "spider" (perlomeno come lo si intende riferito ai motori di ricerca) è una applicazione di norma "standalone", che gira per conto suo.
    Chiarisci meglio il contesto e la necessità.
  • Re: Spider bot

    L esercizio testualmente chiede:

    Si costruisca un bot che, preso in ingresso un url, verifica se è attivo e, in quel caso, se tutti gli URL contenuti nella pagina corrispondente lo sono

    Non ho idea di come si faccia e su internet non capisco.
    Qualche dritta? Va fatto in java
  • Re: Spider bot

    giulio0 ha scritto:


    Si costruisca un bot che, preso in ingresso un url, verifica se è attivo e, in quel caso, se tutti gli URL contenuti nella pagina corrispondente lo sono
    Presumo allora che vada fatto come applicazione Java standalone, quella che parte dal classico main(String[]). Dato un url ad una pagina HTML, scarichi la pagina e poi dovresti analizzare il contenuto, ovvero andare a trovare tutti i tag che hanno un url, tipo <a href="....."> ma possibilmente anche quelli verso immagini, css, javascript.

    C'è solo una questione: con quale tecnica è lecito/richiesto analizzare il contenuto della pagina? Tramite operazioni di ricerca con le stringhe? Espressioni regolari? O librerie specifiche come la jsoup?
  • Re: Spider bot

    Nell esercizio non lo specifica ma poiché non abbiamo fatto espressioni regolari e jsoup, deve essere tramite stringhe.

    Puoi darmi qualche consiglio in più? Magari un punto da dove iniziare?
  • Re: Spider bot

    Come dice @andbin si usano applicazioni standalone - console.
    Flusso:
    1- Interroghi la pagina in questione, verifichi lo HTTP Status Code e se risulta attiva, salvi l'HTML di risposta.
    2- Fai il parsing dell'HTML, tramite Regular Expression estrai tutti gli URL e li collezioni
    3. Interroghi tutti gli url collezionati e verifichi l'HTTP Status Code*
    * in base al testo dell'esercizio, il BOT si ferma al primo livello di navigazione, quindi è molto semplice.
  • Re: Spider bot

    Grazie, la struttura l ho capita grazie a voi.
    Come faccio ad interrogare l http?
  • Re: Spider bot

    giulio0 ha scritto:


    Come faccio ad interrogare l http?
    Se non puoi/vuoi usare librerie apposite per il networking/parsing, l'unica alternativa è usare le classi del package java.net del framework standard di Java. Parti da un java.net.URL poi apri lo stream ed ottieni di base un InputStream che puoi incapsulare in altro per poter leggere caratteri. Ovviamente prima di leggere materialmente il contenuto della pagina, è bene controllare lo status-code e magari anche il Content-Type.

    La questione più rognosa semmai riguarda il charset della pagina, che se non lo conosci a priori devi dedurlo o dall'header Content-Type nella response o dal contenuto della pagina.
Devi accedere o registrarti per scrivere nel forum
7 risposte