VB.net estrarre dati da web

sabato 31 dicembre 2011 - 13.05
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows Server 2008 R2  |  Windows 7  |  Windows XP  |  Visual Studio 2010  |  Visual Studio Express  |  SQL Server 2008 R2  |  Office 2010  |  Internet explorer 8.0  |  Chrome  |  Opera  |  Firefox  |  VBScript  |  HTML 5  |  Crystal Reports 8.5  |  Crystal Reports 10.0

valebes Profilo | Newbie

Scusate se faccio qualche errore ma sono nuovo in questo forum
Iosto facendo un programma in VB 2010 che serve ad estrarre i dati (Nome società,Indirizzo,telefono,cellulare) da una pagina html.
Per fare un esempio il mio programma deve estrarre i dati da http://aziende.iopubblicita.it/search/?cosa=Ristoranti&dove=SICILIA&indirizzo=.

Mi scarica il codice html ma anche se ho provato di tutto non riesco ad eliminare quello che non mi serve,mi potete aiutare???Ah Se potete mi potete dare un codice per salvare i dati ricavati in un foglio excel.

Caratteristiche Form:
2 Textbox
1 Button

Il codice Form 1:
Imports System
Imports System.IO
Imports System.Text
Imports System.Collections.ObjectModel
Imports System.Drawing.Drawing2D


Public Class Form1
Public Function EstraiTestoDaHTML(ByVal HTML As String) As String

Return System.Text.RegularExpressions.Regex.Replace( _
HTML, "<[^>]*>", "")
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PictureBox1.Image = Image.FromFile("logopc009.gif")
My.Computer.Audio.Play("Default_Title.wav", AudioPlayMode.WaitToComplete)
PictureBox2.Image = Image.FromFile("browser.gif")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

My.Computer.Audio.Play("Ok.wav", AudioPlayMode.WaitToComplete)
Dim URL As String

URL = TextBox2.Text

Dim objScaricaURL As New ScaricaURL

objScaricaURL.SetURL(URL)


Me.TextBox1.Text = _
System.Text.RegularExpressions.Regex.Replace( _
objScaricaURL.Scarica, "<[^>]*>", "")







My.Computer.Audio.Play("Yes.wav", AudioPlayMode.WaitToComplete)


End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
My.Computer.Audio.Play("dfdd.wav", AudioPlayMode.WaitToComplete)
End Sub


CODICE CLASS 1:

Imports System.Text

Imports System.IO

Imports System.Net

Public Class ScaricaURL

Private m_strURL As String

Public Sub SetURL(ByVal strURL As String)

m_strURL = strURL

End Sub

Public Function Scarica() As String

Dim wreq As WebRequest = WebRequest.Create(m_strURL)

Dim wres As WebResponse = wreq.GetResponse()

Dim iBuffer As Integer = 0

Dim buffer(128) As [Byte]

Dim stream As Stream = wres.GetResponseStream()

iBuffer = stream.Read(buffer, 0, 128)

Dim strRes As New StringBuilder("")

While iBuffer <> 0

strRes.Append(Encoding.ASCII.GetString(buffer, 0, iBuffer))

iBuffer = stream.Read(buffer, 0, 128)

End While

Return strRes.ToString()

End Function

End Class

luigidibiasi Profilo | Guru

penso che sul forum ti daranno consigli ma non ti svilupperanno direttamente tutta l'applicazione...

comunque quando non ci riesci con le espressioni regolari vuol dire che il problema è abbastanza complicato...

posta il codice html di un singolo item dal quale vuoi estrarre i dati e vediamo che si può fare
Luigi Di Biasi


http://www.dibiasi.it/
http://netsell.dibiasi.it - ecomm software -
http://blogs.dotnethell.it/luigidibiasi/
http://yadamp.unisa.it/ - YADAMP CMS -

Vinsent Profilo | Senior Member

Il codice che hai postato è un "copia/incolla" di un blog in cui l' autore dice che serve per eliminare SOLAMENTE i TAG HTML.
Programmo per hobby, con la poca esperienza che ho posso dirti che per quello che vuoi fare tu devi scaricare il testo dell' html, identificare la riga che contiene il testo che ti interessa ed eliminare il superfluo. Quindi devi conoscere a priori la struttura della pagina web, se viene modificata è molto probabile che devi modificare anche il programma.
Ho abbozzato il codice sotto, sicuramente migliorabile, giusto per imparare qualcosa di nuovo...in pratica, riferito al tuo link, ottengo il nome della pizzeria sia come "riga html" che come "nome":

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Per excel basta un motore di ricerca, i forum sono pieni di discussioni.....
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5