Récup du texte dans une page web

Résolu
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 25 oct. 2008 à 11:40
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 27 oct. 2008 à 13:47
Bonjour à tous,
Question : Comment faire pour récup du texte dans une page web ???
J'ai le code source d'une page suivant :

[...]
<table width="700" border="0" cellpadding="0" cellspacing="1" >
<col align="right"><col><col align="right"><col>
<tr valign="top" bgcolor="#333333">
<td class="productDetailBox" ><b><font class="productDetail">Product Brand </font></b></td>
<td colspan="3" >Carter de protection </td>
</tr>
<tr valign="top" bgcolor="#333333">
<td class="productDetailBox" width="147" ><b><font class="productDetail">Product Code</font></b></td>
<td width="218"> A385461</td>
<td width="135" ><b><font class="productDetail">Matière</font></b></td>

<td width="107">X38</td>
</tr>
</table>
[...]

J'ouvre la page dans un webbrowser, et j'aimerais bien récupérer les infos en rouge mais je n'y arrive pas, j'ai essayé de compter les item et de les extraire en fonction de leur noms mais ça ne marche pas, j'ai aussi essayé en fonction de leurs balises, de leur numéro (innertext) mais sans succès...

Pouvez vous m'aider ?

Merci d'avance.

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
25 oct. 2008 à 13:45
salut,

base-toi sur cet exemple avec les "parties entourantes"


'    RÉCUPÉRER UNE CHAÎNE
(INCONNUE) PLACÉE ENTRE DEUX CHAÎNES (CONNUES)
'    http://www.codyx.org/snippet_recuperer-chaine-inconnue-placee-entre-deux-chaines-connues_334.aspx#1046
'    Posté par [ Charles Racaud ] le 04/03/2007
<hr />





Private Function MidStr(ByVal Str As String, ByVal sStart As String, ByVal sEnd As String, Optional ByVal Start As Integer = 30) As String
  Try
    Dim iStart As Integer = Str.IndexOf(sStart, Start) + 1
    Dim iEnd As Integer = Str.IndexOf(sEnd, iStart)
    Return Str.Substring(iStart, iEnd - iStart)
  Catch ex As Exception
    Return String.Empty
  End Try
End Function









++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp <
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
26 oct. 2008 à 20:41
à toi cherche chercher vbcrlf & "<td>" au lieu juste de "<td>" ...
le code fait ce que tu lui dit de faire, à toi de spécifier les bons critères

ps : je crois qu'en dotnet c'est pas VBCRLF mais quelque chose comme environment.vbnewline, à vérifier
3
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
26 oct. 2008 à 19:32
Merci ça marche nickel, mais j'ai juste un petit souci avec les saut de ligne, parfois j'ai <td>mon truc</td> sur une seule ligne, sauf que j'ai d'autres lignes qui commencent par <td> dans le doc. Je voudrais savoir si il serait possible de récup l'info de la ligne d'avant pour qu'au moins un de mes deux critéres (sStart ou
sEnd
) soit unique dans le document.
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
27 oct. 2008 à 13:47
Ah oui, en plus j'y avait pensé mais j'étais persuadé que cela ne marcherait pas !!! Comme quoi...
0
Rejoignez-nous