Condividi:        

cercare numero di pagine trovate da google

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

cercare numero di pagine trovate da google

Postdi wallace&gromit » 05/05/18 12:35

Ciao,
vorrei fare un piccolo software "gag", che permetta di dire chi ha ragione su un determinato argomento.
L'idea è di prevedere due spazi per parole chiave di un argomento e due spazi per ogni "contendente" in cui inserire la propria tesi.
Automaticamente dovrebbe uscire chi per modo di dire ha ragione.
Il calcolo molto semplice si baserebbe sul numero di ricorrenze trovate da google inserendo le quattro parole, due uguali per entrambi, due variabili a seconda della tesi.
Esempio tema: 11 settembre
Tesi 1: complotto evidente
Tesi 2: bufala complottista

Vince Tesi 2: 128000 contro 127000

Incredibilmente molto tirata ma con altri parametri rischia addirittura di vincere il complotto, comunque, come detto sarebbe solo per scherzo. La domanda è se si possa ricavare questo dato con un ricerca web.

P.S. dovrei introdurre una clausola che se i due contendenti sono marito e moglie vince comunque sempre la moglie :diavolo:
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Sponsor
 

Re: cercare numero di ricorrenze in google

Postdi Anthony47 » 05/05/18 19:17

Ad esempio: https://www.dropbox.com/s/i85ka4605a2wv ... .xlsm?dl=0

Su lavoro su Foglio1
-Inserire le chiavi di ricerca comuni
-Inserire le chiavi di ricerca dei due contentendi
-Interrogare Google usando il pulsante
-I risultati saranno mostrati nei due box "Risultati"

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: cercare numero di ricorrenze in google

Postdi wallace&gromit » 05/05/18 23:33

Bellissima (e chi ne dubitava, fortissimo come sempre Anthony).
Però per farla funzionare ho dovuto togliere la parte di split:
Codice: Seleziona tutto
'        mySplit = Split(ResId.innerText, "risultati", , vbTextCompare)
'        If UBound(mySplit) > 0 Then
'            kRes(i) = CDbl(Replace(mySplit(0), "circa", "", , , vbTextCompare))
            kRes(i) = ResId.innerText
'        Else
'            kRes(i) = 0
'        End If

Comunque adesso ci lavoro un po'. Alla fine io non voglio svelare il segreto che si va a cercare in google ma solo mostrare un vincitore, quindi quello che ho dovrebbe bastarmi.

Ancora grazie mille

P.S. vedo che hai notevolmente zoomato sul tuo avatar, sicuramente sbufalando anche i lunacomplottisti oltre quelli dell 11 settembre
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: cercare numero di pagine trovate da google

Postdi Anthony47 » 06/05/18 23:31

Probabilmente quel che hai dovuto fare dipende dalla lingua in cui google risponde, ma con quella soluzione immagino che perdi la fase finale di valutazione dei risultati...
Ho modificato la macro agganciata al pulsante, integrata nella nuova versione di file (scaricabile sempre dallo stesso link).
Il codice:
Codice: Seleziona tutto
Sub GSearch22()
'V-2
Dim IE As Object, myBUrl As String, ResId As Object
Dim kKey As String, kKey2 As String, fsKey
Dim kRes(0 To 1), mySplit

Range("B9").MergeArea.Interior.Color = RGB(255 * (i Mod 2), 255, 0)
Range("G9").MergeArea.Interior.Color = RGB(255 * (i Mod 2), 255, 0)
Range("B9").MergeArea.ClearContents: Range("G9").MergeArea.ClearContents
Range("E10").Select
myBUrl = "https://www.google.com/search?q="
'
If IE Is Nothing Then Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
For i = 0 To 1
    IE.navigate "http://www.google.it"
    Do While IE.Busy: DoEvents: Sleep (100): Loop
    Do Until IE.ReadyState = 4: DoEvents: Sleep (100): Loop
    kKey = Trim(Range("D2") & " " & Range("D3"))
    fsKey = myBUrl & Replace(Trim(kKey & " " & Range("A6").Offset(0, i * 2)), " ", "+", , , vbTextCompare)
    With IE
        .navigate fsKey
        Do While .Busy: DoEvents: Sleep (100): Loop
        Do Until .ReadyState = 4: DoEvents: Sleep (100): Loop
    End With
    Sleep (100)
    On Error Resume Next
    Set ResId = IE.document.getElementById("resultStats")
    On Error Resume Next
    If ResId Is Nothing Then
        kRes(i) = 0
    Else
        mySplit = Split(ResId.innerText & " ", " ", , vbTextCompare)
        If UBound(mySplit) > 0 Then
            On Error Resume Next
            For j = 0 To UBound(mySplit)
                kRes(i) = CDbl(mySplit(j))
                If kRes(i) > 0 Then Exit For
            Next j
        Else
            kRes(i) = 0
        End If
    End If
    Range("B9").Offset(0, i * 4) = kRes(i)
Next i
IE.Quit
Set IE = Nothing
'
For i = 0 To 11
    If kRes(0) > kRes(1) Then Range("B9").MergeArea.Interior.Color = RGB(255 * (i Mod 2), 255, 0)
    If kRes(0) < kRes(1) Then Range("G9").MergeArea.Interior.Color = RGB(255 * (i Mod 2), 255, 0)
    Sleep (200)
Next i
End Sub


Si, ho zommato l'immagine perche' volevo dare un'occhiata alle colonie lunari che gli alieni hanno ivi installato.
Si vedono benissimo le cupole rotonde perfettamente trasparenti delle colonie Archimedes (la piu' grande delle tre), Aristillus (quella intermedia, con il tendone del circo Orfei al centro) e Autolicus (la piu' piccola). Per altre informazioni certamente una ricerca su google ti dara' centinaia di ottimi documenti...
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: cercare numero di pagine trovate da google

Postdi wallace&gromit » 10/05/18 10:34

Ho visto che è entrata nella "hall of fame"! però a me non funziona ancora benissimo, quando apro si inceppa già la prima macro che cancella i contenuti di foglio1
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: cercare numero di pagine trovate da google

Postdi Anthony47 » 10/05/18 23:39

Che significa "si inceppa"?
Se esegui la Sub GSearch22 passo passo, che risultato ottieni?
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: cercare numero di pagine trovate da google

Postdi wallace&gromit » 18/05/18 13:54

Sono stato un po' indaffarato ultimamente e ora finalmente ritorno su questo problema.
Quando apro il file mi esce errore di run-time 1004
Metodo Range dell'oggetto _Global non riuscito

Se faccio debug mi manda a questa macro
Codice: Seleziona tutto
Private Sub Workbook_Open()
Foglio1.Unprotect
Range("D2").MergeArea.ClearContents
Range("D3").MergeArea.ClearContents
Range("B9").MergeArea.ClearContents
Range("G9").MergeArea.ClearContents
Range("A6").MergeArea.ClearContents
Range("F6").MergeArea.ClearContents
Foglio1.Protect UserInterfaceOnly:=True
Range("E10").Select
End Sub
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: cercare numero di pagine trovate da google

Postdi Anthony47 » 19/05/18 22:47

Non far aprire il file in Visualizzazione protetta; per questo: salvalo in una "directory attendibile" (es Documents; oppure un'altra che in Opzioni /Centro protezione dichiari attendibile).

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "cercare numero di pagine trovate da google":

consumo pagine web
Autore: nikita75
Forum: Software Windows
Risposte: 4
Google vocale
Autore: crisge73
Forum: Discussioni
Risposte: 19

Chi c’è in linea

Visitano il forum: Nessuno e 37 ospiti