Italian Come prelevare da una pagina web dati "nascosti".

LucaMs

Expert
Licensed User
Ma... avranno usato appositamente quel metodo per proteggere quei "dati" (estrazione del Lotto)?
Mi sembra strano, visto che forniscono vari file zip con tutte le estrazioni.
Devo vedere se prelevarli, ammesso che Sergio (@sirjo66) ci riesca con WebViewExtras2, violi qualche loro diritto.
 

LucaMs

Expert
Licensed User
Quella libreria, WebViewExtras2, è scomparsa da questo sito (anche se si riesce a trovarla, forse).

Puoi usare anche la WebViewExtras, @sirjo66, nel caso avessi problemi.
 

sirjo66

Well-Known Member
Licensed User
Prova questo:
B4X:
Sub Globals
    Private WebView1 As WebView
    Private WVExtras As WebViewExtras
    Dim JS As DefaultJavascriptInterface
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("layMain")
    WebView1.JavaScriptEnabled = True
    WVExtras.Initialize(WebView1)
    WVExtras.JavaScriptEnabled = True
    JS.Initialize
    WVExtras.AddJavascriptInterface(JS, "B4A")
End Sub

Sub Activity_Resume
    WebView1.LoadUrl("https://www.lottomaticaitalia.it/it/prodotti/lotto")
End Sub

Sub WebView1_PageFinished (Url As String)
    Dim script As String
    script = "B4A.CallSub('ProcessHTML', true, document.documentElement.outerHTML)"
    WVExtras.ExecuteJavascript(script)
End Sub

Sub ProcessHTML(Html As String)
    Dim match As Matcher = Regex.Matcher("<tbody>(.*?)<\/tbody>", Html.Replace(CRLF,""))
    match.Find
    Dim tbody As String = match.Group(1).Trim
    Msgbox(tbody,"")

End Sub
Poi ovviamente devi proseguire tu, riconoscendo i vari <tr> e <td> (puoi usare Regex per fare meno fatica)
 

shadow

Member
Licensed User
Ciao, ho letto anche quello che è stato scritto nella discussione in inglese, credo anche ciò che ha scritto Erel sia interessante.
 
Top