Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12

Discussione: Filtraggio sito web

Hybrid View

  1. #1
    Quote Originariamente inviata da oregon Visualizza il messaggio
    E che significa? Comunque sono necessarie nozioni molto più avanzate e ampie ...
    ok, esiste qualche guida?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da signfra Visualizza il messaggio
    esiste qualche guida?
    Una guida unica e completa per fare esattamente quello che chiedi tu ... credo di no .. non penso che esista, ma non posso saperlo.

    Servono competenze su svariati fronti. Innanzitutto devi avere le idee abbastanza chiare sul networking e in particolare su HTTP. Devi sapere cosa vuol dire fare una request HTTP e in modo specifico con i metodi HTTP GET e POST. E anche come gestire la response e determinare il content-type della response.

    Devi saper gestire gli URL nel senso di comporli (es. un url assoluto + uno relativo) e verificarne la uguaglianza. Già nel framework standard di Java ci sono classi/metodi appositi. Questo ti serve perché all'interno di un sito i collegamenti ad altre pagine del sito molto probabilmente sono link "relativi". E poi se in una pagina trovi link che rimandano a pagine che hai già visitato/analizzato, devi saperlo determinare ed evitare perché altrimenti il tuo bel programmino andrebbe in loop infinito.

    Ad un certo indirizzo web ci può essere tecnicamente/teoricamente qualunque cosa: una pagina HTML, un documento di testo .txt o un .doc/.docx, un .pdf, un .zip, ecc... Cosa vuoi trattare? Solo pagine HTML? O anche analizzare documenti complessi come PDF e DOC? La cosa ovviamente si complicherebbe.

    Considerando anche solo HTML, devi stabilire come analizzare il documento HTML. Devi sapere ovviamente cosa è HTML, come sono fatti i tag e cosa estrarre. Vuoi analizzare solo il testo puro della pagina o anche eventuali metadati della pagina? (compresi testi che normalmente non sono visibili come gli alt/title degli elementi).
    Per analizzare una pagina HTML ci possono essere svariate tecniche, da quelle "fai-da-te" con banali operazioni/ricerche sulle stringhe, oppure qualcosa di più evoluto usando le "espressioni regolari" oppure qualcosa di ancora più completo come l'uso di una apposita libreria di "HTML parser" come jsoup. Specialmente se usi una libreria di parsing di HTML, devi sapere cosa è il DOM della pagina e come fare le query giuste all'interno del DOM (usando ovviamente la API della libreria) per estrarre ciò che serve.

    Infine (ma probabilmente nemmeno l'ultimo aspetto) dovresti considerare di sfruttare il multi-threading. Se un sito ha centinaia di pagine, non puoi pensare di fare in modo puramente sequenziale il ciclo: scarico una pagina, poi la analizzo, finita la analisi scarico un'altra pagina ecc... Anche se hai una linea internet "veloce", ci metteresti un bel po' ....
    Quindi dovresti sfruttare più thread (e più core CPU se ne hai) e poter fare anche request HTTP "concorrenti". Tutto questo ovviamente complica la logica della applicazione e la interazione tra le parti, che va fatta in modo appropriato avendo le conoscenze sui concetti di sincronizzazione, concorrenza, ecc...
    Ultima modifica di andbin; 16-10-2016 a 11:18
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.