[R] Recherche de liens dans un code source html

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

[R] Recherche de liens dans un code source html

#1

Message par ChaudLesNeurones »

Bonjour,
je cherche un code qui pourrait ecrire dans un fichier .txt tout les liens trouver dans le code source d'une page web

ex : href="index.html"> je voudrais juste avoir le text entre guillemet " " index.html pour cette example

si ce n'est pas possible les 10 ou 20 caractere aprés href

j'ai un debut mais aprés je ne sait plus :?: je ne suis pas encore assez bon en Autoit
si vous pouvez me donner un coup de main ce serais sympa :)

voila le debut du code:

Code : Tout sélectionner

 #Include <File.au3>
#Include <Array.au3> 


Global $liens

_FileReadToArray("liens.txt", $liens)
for $i = 1 to $liens[0]
 ShellExecute ($liens[$i],250) 
        WinSetState("", "", @SW_MAXIMIZE)
        
                Sleep(800)
        Send("{alt}")
        Sleep(200)
        Send("{h}")
        Sleep(200)      
        Send("{s}")
                        Sleep(1800)     
        WinSetState("", "", @SW_MAXIMIZE)
        Sleep(1800) 
        
$http = StringSplit("href", ",")

$text = "href"
$array = StringSplit($text, 1)

        MsgBox(0,'Texte trouvé',$array)





        
        
            Sleep(200000)
        ;FileWrite("liens_recuperer.txt", ""& $liens[$i])
        
    ;Else
      
   ; EndIf
next
;ShellExecute("liens_recuperer.txt")
Modifié en dernier par ChaudLesNeurones le jeu. 11 nov. 2010 11:48, modifié 1 fois.
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#2

Message par bloodwolff »

Je pense que sa le fais
Si tu as besoin d'aide pour le comprendre/modifier dis le moi

Code : Tout sélectionner

$Open=FileOpen(FileOpenDialog("Sélectionne le fichier à analyser",@ScriptDir,"Fichier Html (*.htm;*.txt)"))
$Open2=FileOpen("liens_recuperer.txt",1+8)
$i=1
$ligne=FileReadLine($Open, $i)

While @error <> -1
    If StringInStr($ligne,"href=""") <> 0 Then
        $split=StringSplit($ligne,'"')
        For $a=1 to $split[0]
            If StringInStr($split[$a],"href=") <> 0 Then _
            FileWriteLine($Open2,$split[$a+1])
        Next
    EndIf
    $i=$i+1
    $ligne=FileReadLine($Open, $i)
WEnd

FileClose($Open)
FileClose($Open2)
Compte skype : bloodwolfff
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#3

Message par Tlem »

Ou alors avec RegExp :

Code : Tout sélectionner

#include <array.au3>

$Chaine = 'rfhrifhcdhj fdchd cosjdhn osdihc oih oih <href="index.html"> dcihcde dzc<href="index2.html">'
$array = StringRegExp($Chaine, '<href="(.*?)">', 3)

_ArrayDisplay($array)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#4

Message par jbnh »

Ou encore :

Code : Tout sélectionner

#include <array.au3>
#include <String.au3>
$Chaine = 'rfhrifhcdhj fdchd cosjdhn osdihc oih oih <href="index.html"> dcihcde dzc<href="index2.html">'
$array = _StringBetween($Chaine, 'href="', '"')
_ArrayDisplay($array, 'Default Search')
 
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#5

Message par ChaudLesNeurones »

merci je viens de faire un test avec ces script:

Bloodwolff quand je lance ton script il me demande bien mon fichier "
liens.txt
" il tourne 10 seconde alors que mon fichier fait 1500 liens mais il ne met rien dans le fichier "
liens_recuperer.txt
"

pour Tlem et jbnh c'est presque ce que je voulais mais pas seulement avec
index ou index2 , les liens peuvent avoir n'importe quel nom ( toto, tata, titi, poildecarrote, ou autre)

pour le moment j'ai pas le temps de faire trop de test pour voir comment tourne les script mais je m'y colle ce weeckend

mais il y a des truc que je ne comprend pas comme
$Chaine = 'rfhrifhcdhj fdchd cosjdhn osdihc oih oih
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#6

Message par bloodwolff »

Pourtant chez moi , il retourne bien tous les liens :?
Compte skype : bloodwolfff
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] recherche de liens dans un code source ht

#7

Message par jbnh »

$chaine est juste un exemple de suite de caractères. Et nos scripts devrait fonctionner pour recuperer les liens.
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#8

Message par ChaudLesNeurones »

Salut Jbnh,
peut etre que je ne le place pas bien dans mon script.

j'ai essayer ton script tout seul et il trouve juste "index et index2" en gros ce qu'il y a dans le script.

celui de Bloodwolff et le plus approchant puisqu'il me met les liens dans un fichier txt

le seul probleme c'est qu'il n'ouvre pas les page de mon fichier liens.txt
en gros sont scripte regarde ce qu'il y a un fichier source html

donc j'ai fait un copier coller des source de toutes les pages dans un fichier txt et ensuite je lance son scripte

je vais essayer de l'aprofondir pour evité ce copier coller qui me fait un fichier de 50 mega :(

tout ça pour un jeux, je dois trouver un liens cacher :shock:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] recherche de liens dans un code source html

#9

Message par Tlem »

ChaudLesNeurones a écrit :j'ai essayer ton script tout seul et il trouve juste "index et index2" en gros ce qu'il y a dans le script.
:shock:

Le code que nous vous avons donné, vous présentait une méthode de recherche, mais bien évidement, il fallait l'adapter à la situation. :roll:
La variable $Chaine était sensée représenter le code source de votre fichier d'origine. Nous avons mis un bout de texte bidon pour l'exemple.

Il vous suffisait de prendre le code de bloodwolff et d'adapter :
► Afficher le texteMa proposition
► Afficher le texteCelle de Jean Benoit
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ChaudLesNeurones
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 22 oct. 2009 17:59
Status : Hors ligne

Re: [..] Recherche de liens dans un code source html

#10

Message par ChaudLesNeurones »

OK !

merci Tlem

j'ai ce qu'il me faut pour continuer.

Bonne journée
Répondre