Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    1

    estrarre dati da pagina web con VB.NET

    Gentili lettori, sono totalmente digiuno di VB.NET e di programmazione in generale, e sono qui per chiedere aiuto a qualche anima pia.

    Dovrei realizzare un elementare programmino in vb.net che estragga 3 valori da una pagina WEB e li mostri in 3 caselle di testo.

    Questo è il link alla pagina: http://it.investing.com/equities/ubi-banca

    Questo è il codice contenente i valori:

    codice:
    <div id="tradeNowFloat" class="tradeNowFloat instrumentFloater js-floated-header-container">
        <div class="instrumentFloaterInner">
            <div class="float_lang_base_1 bold">
                <span class="arial_22">UBI</span>
                            <span id="fl_header_pair_lst" class="arial_16 midNum pid-342-last" dir="ltr">2,9580</span>
                            <span id="fl_header_pair_chg" class="arial_14 pid-342-pc redFont" dir="ltr">-0,0860</span>
                            <span id="fl_header_pair_pch" class="arial_14 pid-342-pcp redFont parentheses" dir="ltr">-2,83%</span>
            </div>
            <div class="headBtnWrapper inlineblock float_lang_base_2">

    Questi sono i tre valori da estrarre: "2,9580" "-0,0860" "-2,83%". I tre valori cambiano continuamente e, nel mio programmino, dovrebbero essere aggiornati ogni 5-10 secondi.

    C'è qualche volenteroso disposto ad aiutarmi?

    Attendo, grato e fiducioso.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    VB (tutte le versioni) viene trattato nel forum "Visual Basic e .NET Framework".

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    1
    Quote Originariamente inviata da LeleFT Visualizza il messaggio
    VB (tutte le versioni) viene trattato nel forum "Visual Basic e .NET Framework".
    Mi scuso per aver postato nella sezione sbagliata. In futuro farò più attenzione affinchè l'errore non si ripeta. Grazie per la comprensione e per non avermi redarguito malamente...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Cioè, fammi capire, vuoi dei semplici suggerimenti o tutto il codice pronto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    1
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Cioè, fammi capire, vuoi dei semplici suggerimenti o tutto il codice pronto?
    So di essere sfacciato, ma il fatto è questo: sono alle primissime armi. Mi sto documentando, ma temo che l'apprendimento sarà cosa lunga.

    I suggerimenti sono quindi graditi, tuttavia se qualcuno mi confezionasse tutto il codice mi farebbe felice...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da aloisio Visualizza il messaggio
    So di essere sfacciato
    No ... il regolamento non lo consente ... comunque studia un po' le classi WebClient oppure il controllo WebBrowser e dai un'occhiata ad esempi che stanno su internet ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    devi dividere il problema in tre parti
    1) leggere una pagina web in una stringa
    2) estrarre i dati dalla stringa ottenuta
    3) temporizzare queste operazioni per ottenere i dati ad intervalli di tempo

    per il primo, anche senza conoscere l'inglese, ed essendo piuttosto scarso in ricerche, con google ho cercato una cosa del genere: vb.net load web page into string oppure c# load web page into string

    del milione di risultati la risposta già nella prima

    proponi del codice ed esponi i problemi: gli aiuti non mancheranno
    Pietro

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    1
    Quote Originariamente inviata da pietro09 Visualizza il messaggio
    devi dividere il problema in tre parti
    1) leggere una pagina web in una stringa
    Allora, sto seguendo le indicazioni di Pietro, che ringrazio. Per ora sono fermo al punto 1).
    Il codice seguente dovrebbe leggere la pagina WEB e caricarla in una stringa.

    codice:
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
            Using client = New WebClient()
                Dim result As String = client.DownloadString("http://www.google.com")
                MessageBox.Show(result)
            End Using
    
    End Sub

    Il problema è che talune pagine vengono lette senza problemi, mentre la pagina che interessa a me (http://it.investing.com/equities/ubi-banca) non viene caricata. Da buon profano non so capire il perché.

    Ho notato che, al caricamento, la pagina visualizza un pop-up pubblicitario. Che sia il pop-up ad impedirne la lettura? O la pagina incorpora qualche protezione?

    Sono arenato. Attendo qualche dritta per superare l'impasse...

    Grazie a tutti!
    Ultima modifica di aloisio; 17-06-2016 a 17:41

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    33
    Visto che era semplice e che ho da poco finito di lavorare a un progetto simile, sono stato buono e ti ho scritto tutto il codice, ma sappi che in realtà non si dovrebbe fare, comunque,
    per prima cosa aggiungi un webbrowser al form e modifichi:
    -la proprietà url su "http://it.investing.com/equities/ubi-banca"
    -la proprietà visible su false
    -la proprietà scripterrorssuppressed su true

    poi aggiungi tre label

    poi aggiungi un timer

    poi incolla questo codice in "class form1" (le scritte dopo l'apice(') sono commenti, il programma non li legge):

    codice:
        Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As                WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
            Timer1.Interval = 5000 'imposta l'intervallo di tempo in millisecondi
            Timer1.Start() 'il timer parte
        End Sub
    
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            Timer1.Dispose() 'il timer viene stoppato
    
    
            Dim variabile As String = "$(document).attr('title', $('#fl_header_pair_lst').text());"
            Dim eseguibile As String = [String].Format(variabile)
            WebBrowser1.Document.InvokeScript("eval", New String() {eseguibile})
            Label1.Text = WebBrowser1.Document.Title
            'viene eseguito un codice jquery all'interno del browser che cambia il titolo della pagina con il rpimo valore, successivamente si imposta il testo della label 1 = al titolo della pagina
    
    
            Dim variabile1 As String = "$(document).attr('title', $('#fl_header_pair_chg').text());"
            Dim eseguibile1 As String = [String].Format(variabile1)
            WebBrowser1.Document.InvokeScript("eval", New String() {eseguibile1})
            Label2.Text = WebBrowser1.Document.Title
            'qui accae lo stesso
    
    
            Dim variabile2 As String = "$(document).attr('title', $('#fl_header_pair_pch').text());"
            Dim eseguibile2 As String = [String].Format(variabile2)
            WebBrowser1.Document.InvokeScript("eval", New String() {eseguibile2})
            Label3.Text = WebBrowser1.Document.Title
            'qui accade lo stesso
    
    
            webbrowser1.navigate("http://it.investing.com/equities/ubi-banca")
            'la pagina viene ricaricata e la procedura ricomincia 
        End Sub
    ps. se modifichi i nomi dei controlli devi modificare anche il codice
    ci sono sicuramente modi migliori di risolvere il problema ma questo è il primo modo che mi è venuto in mente

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2017
    Messaggi
    5

    Endi, HELP!

    Buon giorno a tutti.
    sono alla prese anch'io con lo stesso quesito ed ho provato ad impostare il tutto come indicato da Endi.
    A tutti gli effetti, per una singola operazione ciclica funziona ma quando si parla di ripeterla per un indirizzo diverso... iniziano i dolori.
    Per quanto abbia cercato di istruirmi in merito al webbrowser non ho trovato modo funzionante di fargli caricare un link diverso (passato da un semplice array).
    Ho quindi provato a forzare e fare una porcheria, inserendo X webbrowser per ogni link ma l'uso di risorse diventa ingestibile portando al crash.
    Vorrei quindi chiedere a Endi o qualche altra anima pia di darmi quanto meno uno spunto per:
    eseguire in successioni su un unico webbrowser una serie di link passati da un array. Il codice usato � tale e quale a quello portato da Endi perch� necessito anch'io della stesso dato da estrarre dalla pagina.
    Grazie mille

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.