Cherche Programme type Web-bot (Chercher contenu au hasard sur Web) en VBS si po [Résolu]

Signaler
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018
-
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018
-
Bonjour,

Je suis à la recherche d'un programme qui serait capable de faire une recherche d'un mot clé sur internet et de récupérer ce qui a été trouvé dans la recherche dans un fichier texte (j'ai pas besoin des images, juste texte de la page) ? en vbs (pour intégration dans mon prog) si possible

ce serait un projet du type web-bot
Merci d'avance !
Thierry

20 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Voilà un petit exemple de téléchargement d'une page en AJAX, proche de ce qu'il y a sur mon lien.

Cela télécharge la page de résultat de google quand on fait une recherche sur toto et affiche le code sur la page courante.

<html><head>
<script type="text/vbscript">
dim objxml

function go_onclick()
    dim content

    set objxml = createobject("msxml2.xmlhttp")

    objxml.open "get", "http://www.google.fr/search?hl=fr&q=toto", false
    objxml.send
    content = objxml.responsetext
    content = replace(content, "<", "<")
    content = replace(content, ">", ">")
    content = "" & content & "

"
    document.getelementbyid("result").innerhtml = content
end function
</script> 
<head/>






</html>



Le gros problème c'est la sécu : on ne peut pas demander n'importe qu'elle page depuis n'importe quelle page (C'est "nouveau". Au début d'AJAX on pouvait faire ce que l'on voulait.) Dans le cas présent, la page contenant le vbscript et google sont dans mes sites de confiance. De plus, j'ai personnalisé le niveau de sécu des sites de confiance, en autorisant "Accès aux sources de données sur plusieurs domaines".
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Salut,

Tu peux essayer en AJAX, du moins en te servant de XMLHttpRequest/MSXML2.XMLHTTP. Tu fais une GET et tu récupères la réponse dans responseText.

[ Déplacé sur vbfrance ]
Messages postés
580
Date d'inscription
mercredi 20 août 2008
Statut
Membre
Dernière intervention
20 avril 2010
1
possible aussi avec vbs et vb6 vb net... si tu veut, cherche comment récuperer le contenu d'une page web et execute le lien de la recherche puis enregistre le contenu dans un texte et fait avec ce que tu veut.
en vb6 c'est possible avec inet et webbrowser ...
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Ah merci pour vos réponses rien en vbs alors ? car mon prog est en vbs ...
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
AJAX n'est pas un langage. On parle d'AJAX quand on fait des requêtes HTTP sans rafraichissement de page. On peut bien sûr faire de l'AJAX en vbs : MSXML2.XMLHTTP est un objet ActiveX.

Il y a du jscript mais aussi du vbscript sur la page du lien de mon premier message.
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Yes merci ! j'avais pas vu le lien sorry ! mais bon c'est pas trés clair comme example quand même pour faire une recherche sur un moteur web a partir d'un mot clé et enregistrer dans un txt ? on en est loin ! mais merci quand même !
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Salut en fait je ne veut pas analyser le contenu des pages mais juste les textes visibles en réponse de requetes .... mais pas mal ton prog en ajax ? t'aurai pas en vbs ?

Merci Thierry
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Heu... Mais c'est du vbs !
C'est écrit dessus en plus :
<script type= "text/vbscript">


Relis mon message plus haut : AJAX, ce n'est pas un langage. C'est une technique. Une idée. Et on peut l'appliquer en vbs.

Bon ok, mon code ci-dessus, c'est une page html + du vbs... Mais on peut extraire le code vbs sans problème ! La page web ne sert que pour l'affichage...

Voilà le code pour un .vbs :
dim objxml
dim content

set objxml  = createobject("msxml2.xmlhttp")

objxml.open "get", "http://www.google.fr/search?hl=fr&q=toto", false
objxml.send
content = objxml.responsetext
WScript.Echo content


[quote=thierryd75]je ne veut pas analyser le contenu des pages mais juste les textes visibles/quote

Bin... Désolé mais une page web c'est une page web !
C'est le navigateur qui interprète le HTML pour formater la partie "visible" pour l'utilisateur... Et ce n'est pas forcément un problème simple.

A l'arrache, ça me donne ça :
dim objxml
dim content
Dim starting
Dim ending
Dim inTag
Dim result
Dim currentChar
Dim i

set objxml = createobject("msxml2.xmlhttp")

objxml.open "get", "http://www.google.fr/search?hl=fr&q=toto", false
objxml.send
content = objxml.responsetext

' On ne conserve que le body
starting = InStr(content, "")
content = Mid(content, ending + 1)

' On prend que ce qu'il y a hors des balises
inTag = False
result = ""
For i = 1 To Len(content)
  currentChar = Mid(content, i, 1)
  If currentChar "<" Then inTag True
  If Not inTag Then result = result & currentChar
  If currentChar = ">" Then
    inTag = False
    result = result & " "
  End If
Next

WScript.Echo result
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Ah la ca m'interresse ! je teste cet aprem et je revient vers toi ! grand merci en tout cas et a + tard Thierry
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Exactement cela que je veut , peut-on obtenir le body complet des résultats des sites ou pas ? car apparement ca apparait coupé à un moment ? mais c'est exactement ca que je cherche merci merci !! Thierry
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Désolé, je comprends pas la question.

Tu parles des portions affichées par google ?
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Oui exact, peut-on afficher une portion plus grande (compléte) affiché par google par exemple ou ce n'est pas possible ? (dans le retour du résultat résumé sous les différents sites de la réponse)
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Eh bien tu peux répéter l'opération demande de page sur les liens proposés par google.

Au fait, google propose une API pour faire ça plus proprement que de travailler avec leur page web.
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Yes je connaissais pas l'api google Merci ! bonne aprem !
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Bonsoir,

Jusqu'ici cela marchais mais la je suis considéré comme une robot de requette dés que je lance le vbs ? donc accés denied et demande un captcha sur ie ou firefox aprés pour effectuer mes requettes sous ie et firefox .... peut on passer sous api ajax en vbs avec google ? (mais apparement faut une cle maintenant) ou faire la requette sous yahoo car le tri du résultat n'est pas identique .... ??? merci de votre aide !
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
Ton script est considéré comme un robot ? En même temps, c'est peut être parce que c'est un robot !

Tu peux pas la demander là clé ?
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Ben le probléme c'est que j'ai pas de site internet à donner .... mais cela remarche depuis ce matin j'ai du trop faire de test hier ..... à suivre !
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Eh oui c'est bien un programme robot .... m'enfin quand même .... aprés je si j'obtient une clé (avec un site, je pense qu'il vérifient) comment faire pour l'intégrer dans mon vbs l'ajax .... moi largué la !
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
11
[quote=thierryd75]comment faire pour l'intégrer dans mon vbs l'ajax/quote

Mais ton script fait déjà de l'AJAX ! Il utilise msxml2.xmlhttp qui est à l'origine de l'AJAX.
Bien sûr, pour utiliser google search, il faudrait traduire le code de google qui est probablement en javascript vers du vbs, mais rien d'insurmontable.

Par contre, pour ce qui est du site, là effectivement, c'est a priori bloquant...
Messages postés
23
Date d'inscription
mardi 28 octobre 2008
Statut
Membre
Dernière intervention
16 juillet 2018

Oui mais j'ai lu un article qui réduisais l'utilisation des api pour ajax et de nouvelles clé délivrées sous conditions justement chez google et requetes http ... bon pour je wait voir ... peut etre qu'en utilisant peu les requetes ca devrait passer au final .... disons pas plus de 100 requetes Jours sur quelques mots clés ... (faut qu'ils arrete de regarder docteur who chez google .... avec leur robots non mais si je met un captcha c'est que je suis pas un robot .... bon le blocage est temporaire apparement ca remarchais ce matin) au cas ou j'ai testé sur yahoo ca passe faut retrier le résultat .... la j'avais a peu prés réussi à faire un truc propre .... ! de toute facon site ou pas , si on fait trop de requetes automatique google bloque ton ip et faut justifier si professionnel je pense d'aprés l'article donc affaire a suivre ... la google censure au cas ou tu te fasse un moteur de recherche perso .... yahoo devrais suivre à terme dans leur politique de protection des données et de la vie privée pourtant totalement public ? (c'est comme scanner gratuit les bouquins pour les mettre en ligne générant du traffic et de la pub et des rentrée financiére pour google mais pas de droits d'auteurs reversé pour autant ... bizarre conception au nom de la liberté et de l'accés à tous de l'information mais controlé par google , google map, google qui photographie partout sans autorisation pour google view, un peu worldcompagny , picasa c'est pire qu'un sniffeur dans ton ordi et il remonte tout chez google pour des stats soi-disant, j'ai viré le pack logiciel google ... le telephone va etre chouette, on reprochais a microsof des dérivent mais je crois que google fait pareil ... ) Enfin moi ce n'est qu'une simple requete et je me sert des résultats (entête) sans entrer sur les différents sites en plus , m'enfin impossible de faire du webbot dans ce cas ... je me ferais bloquer direct l'ip (même 1 requette passe pas et il faut remettre un captcha sur ie ou firefox pour faire une recherche normale aprés et si tu relance le robot ca rebloque) ! merci pour le script et à plus ! bonne journée !