Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [Vb.net] Problem codice

    Ciao tutti, spero possiate aiutarmi... Uso vb.net 2008 express.
    Io devo fare un programma che si collega a google e scrivendo magari su una textbox la chiave di ricerca, schiaccio il bottone e devo salvare tutti i link che google restituisce con la ricerca..

    vi riassumo il problema: il programma deve collegarsi a google fare la ricerca con la parola che prende in input il programma e salvare in un file di testo tutti i link che google restituisce dalla ricerca. Avevo intenzione di usare le APi di google xk non ho trovato altre soluzioni..
    vi posto il codice che ho scritto, che funziona, ma mi restituisce una decina di risultati così...

    codice:
    Imports Google.API.GoogleClient
    Imports Google.API.Search
    Imports System.IO.StreamReader
    Imports System.IO.StreamWriter
    Public Class Form1
        Dim ricerca As String
        Const qualsiasidata As String = "&aq=f&aqi=g10&aql=&oq="
        Const mese As String = "&hl=it&tbo=1&prmd=ivns&source=lnt&tbs=qdr:m&sa=X&ei=M6pVTcO7EsSj8QOf85zmDA&ved=0CBAQpwUoBQ"
        Const ventiquattroore As String = "&hl=it&tbo=1&prmd=ivns&source=lnt&tbs=qdr:d&sa=X&ei=W6pVTaetFsWs8gPCi9H7DA&ved=0CA0QpwUoAg"
        Const settimana As String = "&hl=it&tbo=1&prmd=ivns&source=lnt&tbs=qdr:w&sa=X&ei=GKtVTa3xGo6q8QOV7tnoDA&ved=0CA4QpwUoAw"
        Const anno As String = "&hl=it&tbo=1&prmd=ivns&source=lnt&tbs=qdr:y&sa=X&ei=GKtVTa3xGo6q8QOV7tnoDA&ved=0CBAQpwUoBQ"
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Esci.Click
            End
        End Sub
    
        Private Sub Indietro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Indietro.Click
            WebBrowser1.GoBack()
        End Sub
    
        Private Sub Home_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Home.Click
            WebBrowser1.GoHome()
        End Sub
    
        Private Sub Avanti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Avanti.Click
            WebBrowser1.GoForward()
        End Sub
        Private Sub Cerca_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cerca.Click
            ricerca = TextBox1.Text
            ricerca = ricerca.Replace(" ", "+")
            If ComboBox1.Text = "ultimo mese" Then
                WebBrowser1.Navigate("http://www.google.it/search?q=" & ricerca & mese)
            ElseIf ComboBox1.Text = "ultime 24 ore" Then
                WebBrowser1.Navigate("http://www.google.it/search?q=" & ricerca & ventiquattroore)
            ElseIf ComboBox1.Text = "ultimo anno" Then
                WebBrowser1.Navigate("http://www.google.it/search?q=" & ricerca & anno)
            ElseIf ComboBox1.Text = "ultima settimana" Then
                WebBrowser1.Navigate("http://www.google.it/search?q=" & ricerca & settimana)
            ElseIf ComboBox1.Text = "Qualsiasi data" Then
                WebBrowser1.Navigate("http://www.google.it/search?q=" & ricerca & qualsiasidata)
            End If
    
        End Sub
     ' I MIEI PROBLEMI COMINCIANO QUI.. LA PARTE PRIMA LASCIATELA PERDERE.. IL PROBLEMA è IN SALVALINKGOOGLE QUI SOTTO
        Private Sub salvalinkgoogle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Leech.Click
            ricerca = TextBox1.Text
            Dim savefile As New SaveFileDialog
            savefile.FileName = "leech"
            savefile.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*)"
            savefile.Title = "Save"
            savefile.ShowDialog()
            Dim file As New System.IO.StreamWriter(savefile.FileName)
            Dim client As New GwebSearchClient("www.google.it")
            Dim results As IList = client.Search(ricerca, 32)
            For Each result As IWebResult In results
                ListBox1.Items.Add(result.Url)
                file.WriteLine(result.Url)
            Next
            file.Close()
            MsgBox("File salvato!")
        End Sub
    
        Private Sub NavigaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NavigaToolStripMenuItem.Click
            Indietro.Visible = True
            Avanti.Visible = True
            Home.Visible = True
            Esci.Visible = True
            WebBrowser1.Visible = True
            Leech.Visible = False
            Cerca.Visible = True
            TextBox1.Visible = True
            ComboBox1.Visible = True
            Label1.Visible = True
            ListBox1.Visible = False
            PictureBox1.Visible = True
            Button1.Visible = False
        End Sub
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Indietro.Visible = False
            Avanti.Visible = False
            Home.Visible = False
            Esci.Visible = False
            WebBrowser1.Visible = False
            Leech.Visible = False
            Cerca.Visible = False
            TextBox1.Visible = False
            ComboBox1.Visible = False
            Label1.Visible = False
            PictureBox1.Visible = False
            ComboBox1.Items.Add("ultime 24 ore")
            ComboBox1.Items.Add("ultimo mese")
            ComboBox1.Items.Add("ultimo anno")
            ComboBox1.Items.Add("ultima settimana")
            ComboBox1.Items.Add("Qualsiasi data")
            TextBox1.Focus()
            ComboBox1.Text = "Qualsiasi data"
    
        End Sub
    
        Private Sub AboutToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem.Click
            End
        End Sub
    
        Private Sub LeechaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LeechaToolStripMenuItem.Click
            Indietro.Visible = False
            Avanti.Visible = False
            Home.Visible = False
            Esci.Visible = True
            WebBrowser1.Visible = False
            Leech.Visible = True
            Cerca.Visible = False
            TextBox1.Visible = True
            ComboBox1.Visible = False
            Label1.Visible = False
            ListBox1.Visible = True
            PictureBox1.Visible = True
            Button1.Visible = True
        End Sub
    
        Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            ListBox1.Items.Clear()
        End Sub
    End Class

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,257
    MA il problema qual'è?
    che restituisce solo 10 risultati?

  3. #3
    si esatto, mi da dei risultati che se vai a vedere su google i link non sono quelli, si vede che me li prende e me li spara google così...cmq si, me ne fa solo una decina! dovrebbe ad ogni pagina di google prendere i link, a me servono tutti i risultati non solo 10 link..

  4. #4
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,257
    Non è che il webservice di google limita le ricerche a 10 elementi?

  5. #5
    Originariamente inviato da URANIO
    Non è che il webservice di google limita le ricerche a 10 elementi?
    Si, infatti... Forse è possibile aumentare il numero di risultati, ma ci sarà certamente un limite. Non è pensabile che prosciughino le risorse del servizio per fornirlo a pochi assetati.

    Poi, il fatto che la ricerca via servizio non sia identica a quella via interfaccia web, potrebbe dipendere anche dalle politiche di google

  6. #6
    grazie per le risposte....quindi non si puo fare niente??

  7. #7
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,257
    Devi vedere nella documentazione delle api di google.
    Sicuramente i risultati ti arrivano a blocchi di 10 o più, dovresti riuscire a visualizzare anche i restanti risultati, potrebbe essere solo una limitazione della classe che utilizzi per caricare i risultati.

    Cmq sono quasi sicuro che l'uso delle api è limitato a 1000 query al giorno.

  8. #8
    Uranio, io ho letto su google e dice che si possono fare massimo 1000 query al giorno, ma questo lo sapevo già; il fatto è che non so come fare a farmi uscire + di 10 risultati o quelli che sono... come faccio??=S

  9. #9
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,257
    Si, ho capito la richiesta, volevo solo fartelo notare nel caso avessi bisogno di più ricerche.

    Guardando velocemente la documentazione delle APi sembra che nelle richieste ci sia un tag tipo
    <Annotations start="0" num="2">

    Dove start è da dove inizia e num è il numero di valori da restituire, probabilmente con questi puoi "navigare" tra i risultati.
    Nel tuo caso devi vedere se la classe che usi per gestire le api lo supporta, altrimenti trovarne un'altra o fartela tu.

  10. #10
    come faccio a utilizzare <Annotations start="0" num="2"> nel mio programma? scusate l'ignoranza ma è da poco che faccio questi tipi di programmi..

    la classe google.api come faccio a sapere se posso utilizzare <Annotations start="0" num="2">
    o cosa?? io non mi so creare una classe nuova, è una cosa che non ho mai fatto... come potrei implementare questa cosa??

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 © 2024 vBulletin Solutions, Inc. All rights reserved.