[R] InetRead n'affiche pas la source html en entier!

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mmaier
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 29 juil. 2015 23:35
Status : Hors ligne

[R] InetRead n'affiche pas la source html en entier!

#1

Message par mmaier »

Bonjour.

Je suis en train de m'écrire une sorte de 'web-grabber' qui collecte les infos des sites qui m'intéressent pour me les envoyer tous les matins par mail.
Globalement cela fonctionne, mais j'ai un souci.
Voici l'exemple (d'aujourd'hui, mais réproductible à n'importe quelle moment avec tous les articles):
http://www.ledauphine.com/isere-nord
Image

Ce qui m'intéresse c'est le titre, la photo, le petit texte 'gratuite', et la date.
La source sous IE, Firefox ou encore chrome de cette page me donne pour cette section:
► Afficher le texte
Parfait! Tous les infos qui m'intéressent y sont.
-> L'image: <img src="http://s-www.ledauphine.com/images/6D0A ... legers.jpg" alt="Une collision fait deux blessés légers" />
-> Le titre: alt="Une collision fait deux blessés légers" />
-> Le texte: <p>L’accident est survenu à 9 heures, hier, à l’approche du rond-point des Buissières (accès à l’autoroute A43 à la limite de la commune de ... </p> </div>
-> Et la date: <span>Publié </span> 29/07/2015 à 06:05</li>

Théoriquement quelques _ArraySearch & StringSplit et encore un StringLeft/StringRight et l'affaire est clos!

SAUF QUE:

Avec le script suivant:
► Afficher le texte
PS: L'AJOUT DE : HttpSetUserAgent("MyUserAgent") NE CHANGE SRICTEMENT RIEN!!!
J'obtiens:
► Afficher le texte
Tout y est SAUF: <div class="contenu"> ce qui devient <div class="contentInfo"> sans les infos ???

Alors que les scripts 'beaucoup plus lents!!!':
► Afficher le texte
ou encore:
► Afficher le texte
me donnent le résultat:
► Afficher le texte
Sauf que cette fois-ci les infos sur le lien du photo manquent... :(

Certes, je pourrais pour contourner mon problème en exécutant les deux scripts pour paralléliser les résultats pour obtenir la totalité des infos souhaitées, mais cela me semble pas trop propre.
Du coup je suis preneur de toute idées pour contourner ce problème d'une manière plus smart..

Amicodement...
Modifié en dernier par mmaier le jeu. 30 juil. 2015 16:26, modifié 2 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: InetRead n'affiche pas la source html en entier!

#2

Message par jguinch »

Bonjour mmaier, bienvenue sur le forum.
Merci de modifier le titre du sujet afin qu'il respecte les règles de présentation d'un message.
Merci également d'utiliser la balise Spoiler pour le code (d'autant plus qu'ici tu en as mis plusieurs morceaux) : je le fais pour celui-là
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] InetRead n'affiche pas la source html en entier!

#3

Message par jguinch »

Essaie ça :

Code : Tout sélectionner

HttpSetUserAgent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0")
Mais je remarque quelques caractères bizarres, on n'a pas le problème en passant par winhttp :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] InetRead n'affiche pas la source html en entier!

#4

Message par jbnh »

@jguinch pourquoi une requête post ? Get me semble plus approprié non ?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] InetRead n'affiche pas la source html en entier!

#5

Message par jguinch »

Parce que j'ai copié-collé un bout de script à moi sans faire gaffe... :roll:
C'est corrigé , merci :wink:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
mmaier
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 29 juil. 2015 23:35
Status : Hors ligne

Re: [..] InetRead n'affiche pas la source html en entier!

#6

Message par mmaier »

:) Grand merci jguinch :)

Avec le UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) tout marche comme souhaité.
Mon script est adapté et fonctionne à merveille.

Merci
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] InetRead n'affiche pas la source html en entier!

#7

Message par mikell »

:mrgreen:

Code : Tout sélectionner

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "http://www.ledauphine.com/isere-nord", False)
$oHTTP.setRequestHeader('User-Agent', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0');
$oHTTP.SetRequestHeader("Referer", "http://www.ledauphine.com")
$oHTTP.Send()
$sReceived = $oHTTP.ResponseText

$pattern = '(?s).*?section isere-nord isere-nord.*?img src="([^"]+).*?' & _
        'surtitre.*?>\s*(\V+).*?titre.*?>\s*(\V+).*?<p>([^<]+).*?/span>\h*([^<]+).*'
$res = StringRegExpReplace($sReceived, $pattern, "$1" &@crlf& "$2" &@crlf& "$3" &@crlf& "$4" &@crlf& "$5")
Msgbox(0,"", $res)
Modifié en dernier par mikell le jeu. 30 juil. 2015 17:42, modifié 1 fois.
Raison : mangé la date...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] InetRead n'affiche pas la source html en entier!

#8

Message par jguinch »

@mikell : et la date ? :P
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] InetRead n'affiche pas la source html en entier!

#9

Message par mikell »

Pf complètement zappé la date... édité :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [R] InetRead n'affiche pas la source html en entier!

#10

Message par jbnh »

jguinch qui se venge de son erreur POST sur mikell :P :P
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] InetRead n'affiche pas la source html en entier!

#11

Message par jguinch »

Hé hé :wink:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] InetRead n'affiche pas la source html en entier!

#12

Message par mikell »

Ah ben oui évidemment... :shock: bien vu jbnh
Oumpf trop naïf le chat, il percute pas vite
:wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre