Voici un site d’où je veux extraire les données en texte depuis le bloc Information fichier svchost.exe
S'il y a une âme charitable qui puisse m'aider dans cette tâche, je lui serai très reconnaissant
Voici un site d’où je veux extraire les données en texte depuis le bloc Information fichier svchost.exe
S'il y a une âme charitable qui puisse m'aider dans cette tâche, je lui serai très reconnaissant
salut,
quel pattern as-tu testé ?
nomen omen, nemo non omen - Consultez la FAQ VBScript et les cours et tutoriels VBScript
le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
pas de questions techniques par mp
La stratégie canonique que je prendrais voluntier c'est de charger la page avec msxml2.domdocument et sortir la section que vous désirez sortie. La section est contenue dans un div avec un attribute id="box".
Mais, hélas, la page contient de multiples erreurs graves. Elle est mal-formée au sens de xhtml, et puis, moins exigeant, de xml simple et puis, moins exigeant, de html non plus; tout. C'est pour ça, je suis d'accord pour sauver la situation, on peut prendre regexp comme un outil de pré-process.
Voici un script qui montre l'essential qu'on peut faire pour les informations désirées en main.
Je n'ai pas pris soin d'embellir le script par plus de contrôls de détail etc... j'en suis sûr vous êtes capable de le mieux faire après l'essential est résolu.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 surl="http://fichier.net/processus/svchost.exe.html" set oxmlhttp=createobject("msxml2.xmlhttp.3.0") with oxmlhttp .open "post", surl, false .send end with s=oxmlhttp.responseText set oxmlhttp=nothing if s="" then wscript.echo "ResponseText est vide; programme va se terminer." wscript.quit 8 end if set rx=new regexp with rx .pattern="<div\s+id\s?=""box""\s?>([\s\S]*?)</div>" end with set m=rx.execute(s) if m.count<>0 then s=m.item(0) else wscript.echo "La section souhaitée d'avoir n'est pas trouvée; programme va se terminer." wscript.quit end if '---------taitement spécial----------- '[1] ici c'est pour rectifier les erreurs graves dans la source de la page. s=replace (s, """""","""") 'the correct the text error '[2] ici, ce n'est pas une erreur, mais ça ne vaut pas la peine de provisionner un DTD à cette étape: c'est plus compliqué. s=replace (s, " ", " ") '---------taitement spécial----------- set oparser=createobject("msxml2.domdocument.6.0") with oparser .async=false .resolveExternals=true .validateOnParse=false bret=.loadxml(s) if not bret then wscript.echo .parseerror.errorcode & vbcrlf & .parseerror.reason wscript.echo "Programme va se terminer." set oparser=nothing wscript.quit 9 end if end with 'deux formats aux choices wscript.echo oparser.documentElement.text 'wscript.echo oparser.xml set oparser=nothing
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager