Oppure

Loading
15/03/08 14:02
Saitek
L'altro problema che vi pongo è questo.
Devo scrivere uno script che "cerca" all'interno di sitiweb ed elenchi i risultati trovati ad esempio in una list sottoforma di url in modo che uno ci clicchi.
Ad esempio mettiamo che ci siano 3 siti che trattano di...uhm...telefonia ad esempio.
Che hanno al loro interno i rispettivi motori di ricerca per cercare i cellulari e i rispettivi prezzi.
Io voglio creare un programma che si connetta e cerchi ciò che un utente inserisce in una textbox dentro tutti e 3 i siti ed elenchi i links (esempio).
Capito?
Il problema sta tutto nella ricerca...come faccio a stabilire una connessione che ricerchi nel sito? devo sfruttare il db? help grazie :k::rotfl:
aaa
15/03/08 22:49
P4p3r0g4
direi che non e` un problema ma + un programma.
spezza il problema e partiamo dalla base.
come hai intenzione di fare questo? sorgenti? webbroser? fusioni di script? winsock(scherzo)
poi non e` che tutti i siti hanno gli stessi format non esiste un metodo che lo faccia a priori.
aaa
18/03/08 15:20
Saitek
Allora, io vorrei semplicmente strutturare il programma con un semplice form con un text box nel quale l'user inserisce la parola da cercare che viene ricercata in più siti web e i risultati elencati in un'apposito spazio che sia una listbox o qualunque altra cosa.
Capito cosa intendo fare?
Lo so che non è facile.

NON voglio fare un browser tipo con

web.navigate 


e quelle funzioni li, perchè allora farei un browser e sarebbe moooolto più semplice.
Inzomma...non ho la minima idea da dove partire.
Proprio non so neppure che funzioni usare.
aaa
18/03/08 16:28
P4p3r0g4
guardati l'inet. ti da il sorgente della pagine tu limiti il sorgente ai risultati e li scomponi facendo una analisi dei tag. e` difficile ma potrest farcela.
aaa
18/03/08 16:39
Saitek
uhm...l'inet l'avevo usato una volta per collegamento ftp con un codice tipo così

Private Sub Command3_Click()
Dim ftpurl As String
Dim name As String

name = List1.Text
asd = "nickname"
lol = "passwd"
ftpurl = "ftp://sito.asd.org"
Inet1.URL = ftpurl
Inet1.UserName = asd
Inet1.Password = lol
Inet1.Execute Inet1.URL, "PUT C:\'name'" & name
Do While Inet1.StillExecuting = True
DoEvents
Loop
End Sub


Come lo dovrei usare in questo caso?
aaa
18/03/08 18:11
GrG
Basta fare così:
Private Sub Command1_Click()
Text1.Text = Inet1.OpenURL("http://www.google.it")
End Sub
aaa
18/03/08 20:47
Saitek
wa!
Inizio a capire cosa ha in mente P4p3r0g4...
allora...però ci sono un mare di problemi :)
CIoè non capisco bene come questa funzione possa tornarmi utile...cioè...finchè è google che basta prendere sta stringa

google.it/…=

Ma poi bisogna tenere conto che io vorrei cercare in più siti, almeno in 3 (sarebbe il mio progetto) e come faccio a fare arrivare 3 sorgenti diversi contemporaneamente quando l'utente clicca su command1, isolare i risultati (non so proprio come XD) e inserirli in una listbox...è...un suicidio :rotfl:
Cioè iniziando con un sito solo, praticamente io dovrei dire al programma di prendere solo una parte del sorgente che mi arriva e metterlo (possibilmente però sempre sottoforma di link) in una listbox o qualcosa anche in una textbox o in un label...:O come faccio, non è che le mie conoscenze di vb siano elevatissime ._.

EDIT:
Googlando ho trovato due script forse utili per isolare i links:

    Sub IdentifyLinks(ByVal htmlText As String)
        Dim hrefRegex As New Regex( _
            "<A[^>]*?HREF\s*=\s*""([^""]+)""[^>]*?>([\s\S]*?)<\/A>", _
            RegexOptions.IgnoreCase)
        Dim output As String = ""
        For Each m As Match In hrefRegex.Matches(htmlText)
            output &= "Link label: " & m.Groups(2).Value & vbCrLf
            output &= "Link destination: " & m.Groups(1).Value & vbCrLf
        Next
        MsgBox(output)
    End Sub


E questa:

    Sub DumpHrefs(inputString As String)
        Dim r As Regex
        Dim m As Match
    
        r = New Regex("href\s*=\s*(?:""(?<1>[^""]*)""|(?<1>\S+))", _
            RegexOptions.IgnoreCase Or RegexOptions.Compiled)
    
        m = r.Match(inputString)
        While m.Success
            Console.WriteLine("Found href " & m.Groups(1).Value _
                & " at " & m.Groups(1).Index.ToString())
            m = m.NextMatch()
        End While
    End Sub


A grandi linee ho capito cosa fanno, specialmente la 2...però 8-|
Ultima modifica effettuata da Saitek 18/03/08 21:16
aaa
19/03/08 7:37
GrG
Allora per concatenare + sorgenti basta unirli con la & ad esempio:

Private Sub Command1_Click()
Text1.Text = Inet1.OpenURL("http://www.google.it") & Inet1.OpenURL("http://www.youtube.com")
End Sub


Poi il resto non l'ho capito8-|
aaa