Estrarre sorgente HTML da codice

di il
2 risposte

Estrarre sorgente HTML da codice

Buongiorno a tutti,

ho un problema che non riesco a risolvere in un software che sto cercando di sviluppare.
Spiego brevemente la cosa, il software deve leggere una pagina HTML, e da questa pagina
deve in automatico portarsi su altre pagine sempre attraverso la lettura dell' HTML.
Ho utilizzato la seguente routine per leggere il sorgente della pagina passata come parametro:

--------------------------------------------------------------------------------------------------------------------------------
Function estraiCodiceHTML(ByVal url As String) As String
        Dim st As System.IO.Stream
        Dim sr As System.IO.StreamReader

        Try
            'Invia una Web request per leggere il sorgente HTML
            Dim req As System.Net.WebRequest = System.Net.WebRequest.Create(url)

            'Ricava la risposta e legge lo stream coi risultati
            Dim resp As System.Net.WebResponse = req.GetResponse
            st = resp.GetResponseStream
            sr = New System.IO.StreamReader(st)

            'Restituisce il codice HTML completo
            Return sr.ReadToEnd

        Catch ex As Exception

            'Se c'è stato qualche problema restituisce la stringa "ERRORE DURANTE RICHIESTA"
            Return "ERRORE DURANTE RICHIESTA"

        Finally
            sr.Close()
            st.Close()
        End Try

    End Function
--------------------------------------------------------------------------------------------------------------------------------

Fino a qui tutto bene, recupero il sorgente desiderato e estraendo i link HTML direttamente dal sorgente
riesco a portarmi su altre pagine (o meglio, riesco a leggere l'HTML di altre pagine).

A questo puntò però mi sorge un problema, all'interno della pagina web di partenza c'è un link chiamato "precedente"
che non contiene però il link effettivo nel codice html, mi spiego meglio, se lo utilizzo da browser funziona tutto,
clicco su "precedente" e si porta nell'altra pagina (nonostante l'indirizzo web rimanga invariato), diciamo che si modifica
solo una parte della pagina mentre nel codice HTML non è presente nessun link del tipo:
<a href="/matches/2018/08/27/italy.......

ma è presente questo:
<a rel="previous" class="previous " id="page_competition_1_block_competition_matches_summary_5_previous">&laquo; precedente</a>.


Ora, se io volessi spostarmi sempre tramite codice vb.net nella pagina in questione... come posso fare?
Premetto che non sono un drago in questo ambito e ringrazio davvero molto chi volesse darmi una mano,
grazie,
ciao
Ste

2 Risposte

  • Re: Estrarre sorgente HTML da codice

    A mio avviso ti conviene utilizzare il componente webbrowser,per comodità ed affidabilità , per tornare alla pagina precedente potresti utilizzare il metodo GoBack() del controllo webbrowser ,
  • Re: Estrarre sorgente HTML da codice

    gian82 ha scritto:


    A mio avviso ti conviene utilizzare il componente webbrowser,per comodità ed affidabilità , per tornare alla pagina precedente potresti utilizzare il metodo GoBack() del controllo webbrowser ,
    Ciao,

    ti ringrazio per la risposta, io però non devo tornare alla pagina precedente,
    mi spiego meglio, io mi trovo in una pagina di partenza,
    dove attraverso un click sulla scritta "precedente" dovrei portarmi in un'altra pagina.

    Visto che devo fare tutto da codice, finora ho sempre sfruttato i link presenti
    nel codice sorgente della pagina HTML per poter leggere l'HTML di altre pagine, in questo caso
    però non posso farlo perché il link non c'è.... c'è solo questo tag:
    <a rel="previous" class="previous " id="page_competition_1_block_competition_matches_summary_5_previous">&laquo; precedente</a>.
    Probabilmente attraverso qualche funzione, viene cambiato solo uno spezzone della pagina.
    La pagina in questione (per capirci meglio) è questa:

    https://it.soccerway.com/national/italy/serie-a/20172018/regular-season/r42011/

    Subito sopra i risultati c'è il fantomatico link

    Non riesco a capire come potrei fare per ottenere l'HTML dello spezzone che viene
    cambiato... hai dei suggerimenti?
    Grazie ancora,

    Ciao
Devi accedere o registrarti per scrivere nel forum
2 risposte