none
Creare un Web Scraper con Visual Basic 2010 Express

    Question

  • Ciao a tutti,

    nonostante abbia programmato per qualche tempo in VBA su MS Excel ed acquisito abbastanza scioltezza all'interno dello stesso, ho deciso adesso di passare a qualcosa in più come Visual Basic 2010 Express per poter utilizzare le svariate possibilità in più rispetto al semplice MS Office. Tuttavia non ho mai programmato seriamente e dunque, spesso, mi mancano delle basi essenziali per capire dove si nascondono i problemi.  

    Il mio primo problema è quello di creare un Web Scraper, per raccogliere dati da una pagina web e portarmeli sul PC per le successive elaborazioni. Su VBA era molto semplice: creavi un Internet Explorer application, navigavi la pagina di interesse e prendevi gli elementi coi vari GetElementsByTagName, byName etc.

    Quello che ho fatto su VB 2010 è stato anzitutto creare un nuovo progetto "Windows Application Form", per poi creare un Web Browser e navigare il link. Tuttavia non riesco ad interagire all'esterno della Public Class che contiene l'oggetto WebBrowser.

    Inizio dunque con una domanda molto generica: come posso creare un web scraper? Avete qualche riferimento online (non sono riuscito a trovare niente che non sia C# e quel poco che ho trovato in VB non riesco ad implementarlo :/ )? Che tipo di progetto dovrei creare? 

    Grazie e spero di tornare presto con domande più specifiche, dal momento in cui riuscirò a capire come muovermi all'interno dell'ambiente di sviluppo. Grazie! 

    Sunday, October 06, 2013 6:00 PM

Answers

  • Dipende che tipo di applicazione devi realizzare.

    Se devi realizzare un'applicazione tipo quelle a riga di commando del Sistema operativo (ho detto tipo, non uguali) puoi procedere con un progetto console, altrimenti un client desktop (WPF o Windows Form) potrebbe fare al caso tuo.

    In ogni caso mi permetto di consigliarti un iniziale studio della programmazione ad oggetti in quanto troverai VB.NET profondamente diverso da VBA e senza una buona base alle spalle rischi di scrivere codice inefficiente e scorretto.

    Per eseguire il parsing di una pagina web alla ricerca di informazioni, puoi utilizzare HTMLAgilityPack. Si tratta di una dll che ti permette di eseguire query all'interno di una pagina web navigandola come se fosse un XML. 


    Wednesday, October 09, 2013 6:08 PM

All replies

  • Non sapendo cosa sia il web-scraping ho cercato su Google, quindi non garantisco niente. Prova qui.
    Monday, October 07, 2013 6:25 PM
  • Dipende che tipo di applicazione devi realizzare.

    Se devi realizzare un'applicazione tipo quelle a riga di commando del Sistema operativo (ho detto tipo, non uguali) puoi procedere con un progetto console, altrimenti un client desktop (WPF o Windows Form) potrebbe fare al caso tuo.

    In ogni caso mi permetto di consigliarti un iniziale studio della programmazione ad oggetti in quanto troverai VB.NET profondamente diverso da VBA e senza una buona base alle spalle rischi di scrivere codice inefficiente e scorretto.

    Per eseguire il parsing di una pagina web alla ricerca di informazioni, puoi utilizzare HTMLAgilityPack. Si tratta di una dll che ti permette di eseguire query all'interno di una pagina web navigandola come se fosse un XML. 


    Wednesday, October 09, 2013 6:08 PM