Numéros de téléphone google vers excel - VB/VBA/VBS - Programmation
Marsh Posté le 17-06-2016 à 14:34:24
Bonjour,
Même besoin ici.
Pour info, j'ai fait quelques recherches sur Google, et ai trouvé une macro qui se rapproche de ce dont nous avons besoin.
Ici la macro recherche le nom de l'entreprise en cellule A1, et inscrit en cellule A3 le lien vers le site. (et en A2 c'est un mix entre le nom de l'entreprise et le site trouvé)
Il faudrait adapter cette macro pour recevoir le numéro de téléphone et l'adresse mais je n'y connais rien...
Dim url As String, lastRow As Long
Dim XMLHTTP As Object, html As Object, objResultDiv As Object, objH3 As Object, link As Object
Dim start_time As Date
Dim end_time As Date
lastRow = Range("A" & Rows.Count).End(xlUp).Row
Dim cookie As String
Dim result_cookie As String
start_time = Time
Debug.Print "start_time:" & start_time
For i = 1 To lastRow
url = "https://www.google.co.in/search?q=" & Cells(i, 1) & "&rnd=" & WorksheetFunction.RandBetween(1, 10000)
Set XMLHTTP = CreateObject("MSXML2.serverXMLHTTP" )
XMLHTTP.Open "GET", url, False
XMLHTTP.setRequestHeader "Content-Type", "text/xml"
XMLHTTP.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0"
XMLHTTP.send
Set html = CreateObject("htmlfile" )
html.body.innerHTML = XMLHTTP.ResponseText
Set objResultDiv = html.getelementbyid("rso" )
Set objH3 = objResultDiv.getelementsbytagname("H3" )(0)
Set link = objH3.getelementsbytagname("a" )(0)
str_text = Replace(link.innerHTML, "<EM>", "" )
str_text = Replace(str_text, "</EM>", "" )
Cells(i, 2) = str_text
Cells(i, 3) = link.href
DoEvents
Next
end_time = Time
Debug.Print "end_time:" & end_time
Debug.Print "done" & "Time taken : " & DateDiff("n", start_time, end_time)
MsgBox "done" & "Time taken : " & DateDiff("n", start_time, end_time)
Marsh Posté le 17-06-2016 à 16:32:27
Pour extraire autre chose du résultat Google faut modifier cette partie
Code :
|
C'est des fonctions qui existent aussi en Javascript, on peut regarder par là pour avoir de la doc. Mais c'est peu fiable, car si Google modifie son site ça ne fonctionnera plus. Je modifierai aussi l'adresse (là c'est Google Inde), genre "https://www.google.fr/search?q=". Je ne vois pas l'intérêt du paramètre "rnd".
Je ne peux pas aider d'avantage car je n'ai pas Excel. Perso je ferais ça en perl avec en sortie un fichier .csv à importer sous Excel.
En passant, il existe une API pour les pages jaunes, c'est peut-être mieux? http://evollia.com/2010/09/yellowa [...] -site-web/
Marsh Posté le 10-06-2016 à 18:42:15
Bonjour,
J'ai un fichier excel avec une liste d'entreprises.
Pour chacune d'elles, je fais une recherche sur google, ça m'affiche sur la droite l'entreprise avec son adresse et numéro de téléphone.
Y a t-il un moyen via une macro ou autre de récupérer automatiquement ces deux infos dans mon fichier excel ?
Colonne 1 : entreprise
Colonne 2 : adresse
Colonne 3 : numéro
Merci !
---------------
Ventes : http://forum.hardware.fr/forum2.ph [...] #t16617873