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
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
Code : Tout sélectionner
HTML:
<li class="topContent article ">
<article>
<figure>
<a href="/isere-nord/2015/07/29/une-collision-fait-deux-blesses-legers-cdcc">
<img src="http://s-www.ledauphine.com/images/6D0A01FD-4C5F-4DBB-B601-93FBBCF8CC1D/LDL_V0_01/une-collision-fait-deux-blesses-legers.jpg" alt="Une collision fait deux blessés légers" />
</a>
</figure>
<h2>
<a class="surtitre" href="/isere-nord/2015/07/29/une-collision-fait-deux-blesses-legers-cdcc">
BOURGOIN-JALLIEU
</a>
<a class="titre" href="/isere-nord/2015/07/29/une-collision-fait-deux-blesses-legers-cdcc">
Une collision fait deux blessés légers
</a>
</h2>
[b]<div class="contenu">
<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>[/b]
<div class="contentInfo">
<ul>
<li class="datePublication"><span>Publié </span> 29/07/2015 à 06:05</li>
<li class="viewCounter"><p><span class="viewcount-info viewcount-info-281bec22-ece8-48f2-948a-39e7a8f0570c"></span></p></li>
</ul>
</div>
</article>
</li>
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
Code : Tout sélectionner
AUTOIT:
Local $sData = InetRead("http://www.ledauphine.com/isere-nord")
Local $nBytesRead = @extended
$web = BinaryToString($sData)
PS: L'AJOUT DE : HttpSetUserAgent("MyUserAgent") NE CHANGE SRICTEMENT RIEN!!!
J'obtiens:
► Afficher le texte
Code : Tout sélectionner
HTML:
<li class="topContent article ">
<article>
<figure>
<a href="/isere-nord/2015/07/29/une-collision-fait-deux-blesses-legers-cdcc">
<img src="http://s-www.ledauphine.com/images/6D0A01FD-4C5F-4DBB-B601-93FBBCF8CC1D/LDL_V0_01/une-collision-fait-deux-blesses-legers.jpg" alt="Une collision fait deux blessés légers" />
</a>
</figure>
<h2>
<a class="surtitre" href="/isere-nord/2015/07/29/une-collision-fait-deux-blesses-legers-cdcc">
BOURGOIN-JALLIEU
</a>
<a class="titre" href="/isere-nord/2015/07/29/une-collision-fait-deux-blesses-legers-cdcc">
Une collision fait deux blessés légers
</a>
</h2>
[b]<div class="contentInfo"> [/b]
<ul>
<li class="viewCounter"><p><span class="viewcount-info viewcount-info-281bec22-ece8-48f2-948a-39e7a8f0570c"></span></p></li>
<li class="datePublication"><span>Publié </span> 29/07/2015 à 06:05</li>
</ul>
</div>
</article>
</li>
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
Code : Tout sélectionner
AUTOIT:
Local $o_object = ObjCreate("InternetExplorer.Application")
$o_object.visible = 0 ; Non visible
$o_object.navigate("http://www.ledauphine.com/isere-nord")
While Not (String($o_object.readyState) = "complete" Or $o_object.readyState = 4)
Sleep(100) ; Pause chargement page
WEnd
$web = $o_object.document.body.innerText
ou encore:
► Afficher le texte
Code : Tout sélectionner
AUTOIT:
Local $oIE = _IECreate("http://www.ledauphine.com/isere-nord/", 0, 0)
Local $web = _IEBodyReadText($oIE)
me donnent le résultat:
► Afficher le texte
Code : Tout sélectionner
txt:
BOURGOIN-JALLIEU
Une collision fait deux blessés légers
[b]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 ... [/b]
Publié 29/07/2015 à 06:05
vu 4151 fois
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...