Cherche Programme type Web-bot (Chercher contenu au hasard sur Web) en VBS si po

Résolu
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018 - 29 sept. 2009 à 11:53
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018 - 2 nov. 2009 à 12:23
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

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
5 oct. 2009 à 19:03
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".
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
29 sept. 2009 à 18:32
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 ]
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
3 oct. 2009 à 13:20
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 ...
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
4 oct. 2009 à 12:59
Ah merci pour vos réponses rien en vbs alors ? car mon prog est en vbs ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
4 oct. 2009 à 19:17
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.
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
5 oct. 2009 à 17:25
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 !
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
26 oct. 2009 à 09:51
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
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
26 oct. 2009 à 10:38
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
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
26 oct. 2009 à 10:44
Ah la ca m'interresse ! je teste cet aprem et je revient vers toi ! grand merci en tout cas et a + tard Thierry
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
26 oct. 2009 à 10:53
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
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
26 oct. 2009 à 10:58
Désolé, je comprends pas la question.

Tu parles des portions affichées par google ?
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
26 oct. 2009 à 13:17
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)
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
26 oct. 2009 à 14:16
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.
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
26 oct. 2009 à 14:56
Yes je connaissais pas l'api google Merci ! bonne aprem !
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
1 nov. 2009 à 22:24
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 !
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
2 nov. 2009 à 09:49
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é ?
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
2 nov. 2009 à 10:54
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 !
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
2 nov. 2009 à 10:57
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 !
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
2 nov. 2009 à 11:17
[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...
0
thierryd75 Messages postés 23 Date d'inscription mardi 28 octobre 2008 Statut Membre Dernière intervention 16 juillet 2018
2 nov. 2009 à 12:23
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 !
0
Rejoignez-nous