Page 1 sur 2
[R] Automatisation site debridage lien
Posté : mer. 28 mai 2014 16:23
par silvere
Salut a tous
Voila je me lance dans un programme pour automatiser le "debridage" de mes liens, grâce au site alldebrid.
Pour cela j’aimerais faire un code qui me connecte (id et mdp) au site, qui rentre mon lien et ensuite qui reprenne le lien débrider.
Cependant je bloque déjà a l'authentification, j'ai fait sa mais je ne sais pas si c'est correct et je ne sais pas comment appuyer sur le bouton de connexion.
► Afficher le texte
Code : Tout sélectionner
#include <ie.au3>
$oIE = _IECreate ("https://www.alldebrid.fr/register/")
$oForm = _IEFormGetObjByName ($inputpsd, "login_login")
$oForm = _IEFormGetObjByName ($inputmdp, "login_password")
_IEFormElementSetValue ($inputpsd,"Mon pseudo")
_IEFormElementSetValue ($inputmdp,"mon mot de passe")
_IEAction ($oButton, "click")
_IELoadWait($oIE,0)
Merci d'avance
Re: [..] Automatisation site debridage lien
Posté : mer. 28 mai 2014 18:14
par yohan8
Hello !
Dit-moi si le Submit fonctionne, j'ai pas crée de compte pour essayer.
► Afficher le texte
Code : Tout sélectionner
#include <ie.au3>
$User = "login"
$Pass = "password"
$oIE = _IECreate("https://www.alldebrid.fr/register/")
$oForm = _IEFormGetObjByName($oIE, "connectform")
$oUser = _IEFormElementGetObjByName($oForm, "login_login")
_IEFormElementSetValue($oUser, $User)
$oPass = _IEFormElementGetObjByName($oForm, "login_password")
_IEFormElementSetValue($oPass, $Pass)
_IEFormSubmit($oForm)
Ha oui aussi, vérifie que les conditions d'utilisations de AllDebrid autorise ce genre d'automatisation

Re: [..] Automatisation site debridage lien
Posté : mer. 28 mai 2014 19:42
par silvere
Ce n'est pas mentionner dans les condition d’utilisation donc je pense que c'est autorisé.
Oui ça marche
Cependant pour mon programme il ne faut pas que la fenêtre s'affiche ^^
Re: [..] Automatisation site debridage lien
Posté : mer. 28 mai 2014 21:43
par yohan8
Jette un coup d'oeil dans la doc de _IECreate ou de _IEAction
EDIT : le titre que tu as mis n'est pas bien en lien avec l'aide que tu demandes. Un titre approprié t'aurais peut être fait trouver ce genre de topic avec une réponse tout aussi correcte
http://autoitscript.fr/forum/viewtopic. ... 91&p=81103
Re: [..] Automatisation site debridage lien
Posté : mer. 28 mai 2014 22:19
par silvere
Effectivement merci de ton aide mais je bloque encore
Je n'arrive pas a lancer le debridage du lien et je ne comprends pas pourquoi :
► Afficher le texte
Code : Tout sélectionner
#include <ie.au3>
$User = "username"
$Pass = "password"
$link ="lien a debrider"
$oIE = _IECreate("https://www.alldebrid.fr/register/",0,1)
$oFormco = _IEFormGetObjByName($oIE, "connectform")
$oUser = _IEFormElementGetObjByName($oFormco, "login_login")
_IEFormElementSetValue($oUser, $User)
$oPass = _IEFormElementGetObjByName($oFormco, "login_password")
_IEFormElementSetValue($oPass, $Pass)
_IEFormSubmit($oFormco)
_IENavigate ($oIE, "https://www.alldebrid.fr/service/")
$oFormdo = _IEFormGetObjByName($oIE, "downloaders_module")
$oEdit = _IEFormElementGetObjByName($oFormdo, $link)
_IEFormElementSetValue($oEdit, "lien a debrider")
Re: [..] Automatisation site debridage lien
Posté : mer. 28 mai 2014 22:26
par yohan8
Je n'ai pas de compte et donc pas l'accès à ces "lien" de débridage. (à tout hasard t'as pensé à cacaoweb ?)
Mais ce que je peux dire de ton code c'est que tu utilises _IEFormElementGetObjByName avec comme argument , d'après le nom de la variable, un lien or c'est le nom de l'objet qui est demandé et non une url.
Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 11:32
par silvere
J'ai vu mon erreur mais impossible de lancer le débridage que se soit avec _IEFormImageClick ou _IEFormSubmit je n'y arrive pas sur cette page
https://www.alldebrid.fr/service/ ( bouton lancer le débridage).
J'ai essayer 3 façon différentes mais rien a faire :
Code : Tout sélectionner
_IEFormImageClick ( $oIE, "Lancer le débridage !" ,"alt")
_IEFormImageClick ( $oIE, "../images/default/ui/sprite_button.png" ,"src")
_IEFormSubmit($oFormdo)
Voici mon code :
► Afficher le texte
Code : Tout sélectionner
#include <ie.au3>
$User = "username"
$Pass = "password"
$oIE = _IECreate("https://www.alldebrid.fr/register/",0,1)
$oFormco = _IEFormGetObjByName($oIE, "connectform")
$oUser = _IEFormElementGetObjByName($oFormco, "login_login")
_IEFormElementSetValue($oUser, $User)
$oPass = _IEFormElementGetObjByName($oFormco, "login_password")
_IEFormElementSetValue($oPass, $Pass)
_IEFormSubmit($oFormco)
_IENavigate ($oIE, "https://www.alldebrid.fr/service/")
$oFormdo = _IEFormGetObjByName($oIE, "links")
$oEdit = _IEFormElementGetObjByName($oFormdo, "links")
_IEFormElementSetValue($oEdit, "lien en debrider")
_IEFormImageClick ( $oIE, "Lancer le débridage !" ,"alt")
_IEFormImageClick ( $oIE, "../images/default/ui/sprite_button.png" ,"src")
_IEFormSubmit($oFormdo)
Merci de votre aide

Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 14:12
par jguinch
Essaye avec ça :
► Afficher le texte
Code : Tout sélectionner
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 18:10
par mikell
Code : Tout sélectionner
_IENavigate ($oIE, "https://www.alldebrid.fr/service/")
$oFormdo = _IE[color=#FF0000]FormGetObjByName[/color]($oIE, [color=#FF0000]"downloaders_module"[/color])
$oEdit = _IEFormElementGetObjByName($oFormdo, $link)
_IEFormElementSetValue($oEdit, "lien a debrider")
Hum il me semble que le code source dit
Code : Tout sélectionner
<[color=#FF0000]form name="links"[/color] action="">
<div class="downloaders_module">
Donc (avec le code de jguinch) :
► Afficher le texte
Code : Tout sélectionner
#include <IE.au3>
$oIE = _IECreate ("http://www.alldebrid.fr/service/")
$oForm = _IEFormGetObjByName ($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, "lien a debrider")
If $oElt.value == "fulllink" Then _IEAction ($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 19:41
par silvere
Oui, c'est ça mais je ne comprend pas le code.
Pour finir je n'arrive pas a récupérer le lien débridé.Je crois que je suis vraiment pas fait pour les fonction _ie que je trouve complexe. Si vous avez besoin de mon compte envoyez moi un message
Je vous remercie de votre aide

Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 21:10
par mikell
Dans la mesure où le site effectue une opération en fonction d'infos que tu y entres, je vois pas bien comment tu pourrais faire sans utiliser les fonctions _IE*
Le code n'est pas difficile à comprendre, le plus gros de l'explication est dans le fichier d'aide pour _IETagNameGetCollection
Clairement, si tu veux une aide supplémentaire (pour la récupération du lien) il faut communiquer tes identifiants - mais c'est toi qui vois

Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 21:31
par silvere
Si je veux utilisé les fonction _IE simplement que j'ai vraiment du mal avec et que l'anglais n'est pas mon fort ^^
Je t'ai communiquer mes ID par message, merci d'avance

Re: [..] Automatisation site debridage lien
Posté : jeu. 29 mai 2014 23:49
par mikell
ça marche chez moi

► Afficher le texte
Code : Tout sélectionner
#include <IE.au3>
$link ="http://uptobox.com/5k9zpaayg6b4"
#cs
$User = "***"
$Pass = "***"
$oIE = _IECreate("http://www.alldebrid.fr/register/", 0, 1)
$oFormco = _IEFormGetObjByName($oIE, "connectform")
$oUser = _IEFormElementGetObjByName($oFormco, "login_login")
_IEFormElementSetValue($oUser, $User)
$oPass = _IEFormElementGetObjByName($oFormco, "login_password")
_IEFormElementSetValue($oPass, $Pass)
_IEFormSubmit($oFormco)
_IENavigate ($oIE, "http://www.alldebrid.fr/service/")
#ce
$oIE = _IECreate ("http://www.alldebrid.fr/service/", 0, 0)
$oForm = _IEFormGetObjByName ($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, $link)
If $oElt.value == "fulllink" Then _IEAction ($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
While 1
$source = _IEDocReadHTML($oIE)
If StringInStr($source, "displaylinksdiv validlink") Then Exitloop
Sleep(200)
Wend
$oDiv = _IEGetObjById($oIE, "link0")
$deb = $oDiv.innertext
Msgbox(0,"", $deb)
_IEQuit($oIE)
N'hésite pas à demander si tu veux des précisions sur le code
Re: [..] Automatisation site debridage lien
Posté : ven. 30 mai 2014 09:16
par silvere
Merci beaucoup, ça marche aussi chez moi !
Je vais remacher le code pour me l'approprier si il y a des choses que je ne comprends pas je te le demanderais

Re: [R] Automatisation site debridage lien
Posté : sam. 31 mai 2014 14:23
par silvere
Voila je up le sujet car je ne comprend pas le comportement de mon scripte :
Je n’obtiens qu'une seule messagebox pour les liens debrider alors que je devrais en avoir 2
► Afficher le texte
Code : Tout sélectionner
#include <IE.au3>
Dim $array[2]
$array[0] = "http://uptobox.com/hwkxx34nufyv"
$array[1] = "http://uptobox.com/b9veukfwtl6n"
For $i = 0 to 1
MsgBox(0,"",$array[$i])
Next
For $i = 0 to 1
MsgBox(0,"",Debrider($array[$i]))
Next
Func Debrider($link)
$oIE = _IECreate("http://www.alldebrid.fr/service/", 0, 0)
$oForm = _IEFormGetObjByName($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, $link)
If $oElt.value == "fulllink" Then _IEAction($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
$i = 0
While 1
$i = $i + 1
$source = _IEDocReadHTML($oIE)
If StringInStr($source, "displaylinksdiv validlink") Then ExitLoop
If $i = 10 Then
_IEQuit($oIE)
Return 0
EndIf
Sleep(200)
WEnd
$oDiv = _IEGetObjById($oIE, "link0")
$deb = $oDiv.innertext
_IEQuit($oIE)
Return $deb
EndFunc ;==>Debrider
Re: [..] Automatisation site debridage lien
Posté : sam. 31 mai 2014 18:06
par mikell
Tu pourrais essayer de faire débrider plusieurs liens à la fois (liste) puisque le site le permet
Re: [..] Automatisation site debridage lien
Posté : sam. 31 mai 2014 18:28
par silvere
J'y est pensé mais la question d'après c'est comment faire un fonction qui n'a pas un nombre fixe d'argument défini

Edit : mon idée était débile autant utilisé un caractère entre chaque lien ou un array
Re: [..] Automatisation site debridage lien
Posté : lun. 02 juin 2014 00:38
par mikell
Si tu inscris n liens dans l'edit du site, il te retourne n boites de réponse avec chacune un lien dedans, donc faut checker les n (qui s'appellent "link0", "link1", "link2", ..., "linkn-1")
Ouala

► Afficher le texte
Code : Tout sélectionner
#include <IE.au3>
#cs
$User = "***"
$Pass = "***"
$oIE = _IECreate("http://www.alldebrid.fr/register/", 0, 1)
$oFormco = _IEFormGetObjByName($oIE, "connectform")
$oUser = _IEFormElementGetObjByName($oFormco, "login_login")
_IEFormElementSetValue($oUser, $User)
$oPass = _IEFormElementGetObjByName($oFormco, "login_password")
_IEFormElementSetValue($oPass, $Pass)
_IEFormSubmit($oFormco)
;_IENavigate ($oIE, "http://www.alldebrid.fr/service/")
_IEQuit($oIE)
Sleep(1000)
#ce
$links = "http://uptobox.com/hwkxx34nufyv" &@crlf& _
"http://uptobox.com/b9veukfwtl6n" &@crlf& _
"http://uptobox.com/5k9zpaayg6b4"
$oIE = _IECreate ("http://www.alldebrid.fr/service/", 0, 0)
$oForm = _IEFormGetObjByName ($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, $links)
If $oElt.value == "fulllink" Then _IEAction ($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
While 1
$source = _IEDocReadHTML($oIE)
If StringInStr($source, "displaylinksdiv validlink") and _
StringInStr($source, "link2") Then Exitloop
Sleep(200)
Wend
$deb = ""
For $i = 0 to 2
$oDiv = _IEGetObjById($oIE, "link" & $i)
Do
$innertext = $oDiv.innertext
Sleep(10)
Until StringInStr($innertext, "http")
$deb &= $innertext & @crlf
Next
Msgbox(0,"", $deb)
_IEQuit($oIE)
Re: [R] Automatisation site debridage lien
Posté : lun. 02 juin 2014 01:56
par silvere
Cette fois-ci c'est vraiment resolu encore merci !

Re: [R] Automatisation site debridage lien
Posté : mar. 03 juin 2014 19:13
par silvere
Je comprend pas pourquoi ça ne fonctionne pas
► Afficher le texte
Code : Tout sélectionner
#include <IE.au3>
#include <Array.au3>
#cs
$User = "***"
$Pass = "***"
$oIE = _IECreate("http://www.alldebrid.fr/register/", 0, 1)
$oFormco = _IEFormGetObjByName($oIE, "connectform")
$oUser = _IEFormElementGetObjByName($oFormco, "login_login")
_IEFormElementSetValue($oUser, $User)
$oPass = _IEFormElementGetObjByName($oFormco, "login_password")
_IEFormElementSetValue($oPass, $Pass)
_IEFormSubmit($oFormco)
;_IENavigate ($oIE, "http://www.alldebrid.fr/service/")
_IEQuit($oIE)
Sleep(1000)
#ce
$lien = "http://uptobox.com/hwkxx34nufyv"
$i = debrider($lien)
_ArrayDisplay($i)
Func debrider($links)
$oIE = _IECreate ("http://www.alldebrid.fr/service/", 0, 1)
$oForm = _IEFormGetObjByName ($oIE, "links")
$oElts = _IEFormElementGetCollection($oForm)
For $oElt In $oElts
If $oElt.name == "links" Then _IEFormElementSetValue($oElt, $links)
If $oElt.value == "fulllink" Then _IEAction ($oElt, "click")
Next
$oSpans = _IETagNameGetCollection($oIE, "span")
For $oSpan In $oSpans
If $oSpan.innerhtml = "Lancer le débridage !" Then
_IEAction($oSpan, "focus")
_IEAction($oSpan, "click")
ExitLoop
EndIf
Next
While 1
$source = _IEDocReadHTML($oIE)
If StringInStr($source, "displaylinksdiv validlink") and _
StringInStr($source, "link2") Then Exitloop
Sleep(200)
Wend
$deb = ""
For $i = 0 to 2
$oDiv = _IEGetObjById($oIE, "link" & $i)
Do
$innertext = $oDiv.innertext
Sleep(10)
Until StringInStr($innertext, "http")
If StringInStr($innertext, "This link isn't available on the hoster website.") Then
$deb &= "lien invalide|"
Else
$deb &= $innertext & "|"
EndIf
Next
$array = StringSplit($deb, "|")
$array[0]= $array [0]-1
_ArrayDelete($array,UBound($i)-1)
_IEQuit($oIE)
Return $array
EndFunc