Le 5 février 2013 19:24, Lien Rag <[email protected]> a écrit :
> Pour être franc je n'ai rien compris au message précédent mais je suis sûr
> que si je le comprends un jour j'aurais appris des choses importantes, donc
> merci Alioune (je sais vaguement ce qu'est le W3C mais tes explications sont
> à un niveau trop avancé pour moi).
Ok !
> A part ça s'il y en a que ça intéresse, le problème était juste qu'une macro
> avait été mal enregistrée du fait d'une coupure inopinée de connexion
> pendant la création (dois-je remercier la Sonatel ou Sudatel pour cela?).
> Après l'avoir supprimée (ce que Windows refusait de faire d'ailleurs, j'ai
> du booter sur ma clé Ubuntu) j'ai retrouvé ma liste de macros.
>
> Donc ça marche bien (tant qu'il y a de la connexion, évidemment, ce qui n'a
> rien d'évident ces temps-ci), re-merci Genova donc.
>
> J'ai l'impression quand même qu'iMacro fait un peu n'importe quoi quand on
> ne laisse pas le focus sur l'onglet/la page où il s'exécute - vue la lenteur
> d'exécution (surtout vu le temps de chargement des pages), c'est un sacré
> inconvénient.
>
> Il va probablement falloir que je me mette à cURL malgré tout on dirait...
>
>
> J'ai lu sur le Net qu'il est utile pour éviter de devoir recommencer toute
> l'exécution dès qu'il y a erreur de connexion d'introduire dans la macro un
> code précis (SET !ERRORIGNORE yes).
> Pour éviter d'avoir à le réécrire à la main dans chaque macro, comment
> scripter cet ajout?
> Les fichiers .txt n'ont pas vraiment de mise en page, j'ai peur de faire une
> cannerie si j'ajoute le texte automatiquement et n'importe où.
>
> Il semble qu'il n'y aie pas moyen d'appeler une macro à l'intérieur d'une
> autre macro, donc pour scripter une série d'actions y'a-t'il moyen
> d'utiliser un script python (par exemple, ou PHP s'il le faut vraiment) pour
> lancer et Firefox et les différentes macros une à une dans Firefox?
> Ou alors il faut utiliser WinParrot? Mais l'inconvénient est que si j'arrive
> un jour à enfin réparer ma partition Mint la solution développée avec
> WinParrot ne sera pas portable...
>
> Si j'arrive à optimiser ma macro (je croyais avoir trouvé comment mais la
> gestion du chargement des pages cibles reste défectueuse - iMacro n'a pas
> été développé pour les connexions sénégalaises - il va donc falloir que
> j'aille fouiller un peu dans leur wiki) il faudra ensuite que j'en fasse une
> série de copies en modifiant à chaque fois l'URL concernée.
> Scripter ces copies et modifications avec Python est relativement documenté
> sur le Net et cela constitue donc plutôt un bon exercice pour moi, par
> contre je ne sais pas comment transformer la partie du fichier
Ok ! , je n'ai rien compris, (je sais vaguement ce qu'est le iMacro
mais tes explications sont à un niveau trop avancé pour moi :\).
> Bookmarks.html qui m'intéresse en dictionnaire pour pouvoir boucler
> dessus...
>
> Un gentil pythoniste pour m'aider sur ce dernier point?
>
Si Tu as un fichier Html suivant qui se nomme --Bookmarks_parser.html , je n'ai
aucune idée de ce qu tu veux mettre dans un __dic__ , mais tout est possible.
La Librairie c'est Html5lib.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Ceci se passe de commentaire.
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="author" content="Marc Glisse" />
<title>
Squelette
</title>
</head>
<body>
<p>
Allez dans <code>Fichier→Enregistrer
</p>
<p>
Allez dans <code>Fichier→Enregistrer sous</code>,
pour télécharger ce fichier.
</p>
<hr />
</body>
</html>
-------Debut Code -------------
# -*- coding: cp1252 -*-
import html5lib
# Recursion sur les Nodes Html
def _recurse(node):
for node in node.childNodes:
if len(node.childNodes):
_recurse(node)
else:
# cette partie n'affiche que
# les contnues/datas des balises
# Autrement dit ceux qui n'ont pas d'enfants
# output
#-------
# Squelette
# Allez dans
# Fichier?Enregistrer
# Allez dans
# Fichier?Enregistrer sous
# ,
# pour tÚlÚcharger ce fichier.
print (node.value or u"").encode(
"latin-1" , "replace")
# Affiche les informations sur les balise
# ne possedants pas des enfants
# Allez dans
# {'value': u'\nAllez dans ', '_flags': [], 'childNodes':
[], 'name': None, 'paren
# t': <p>}
# Fichier?Enregistrer
# {'value': u'Fichier\u2192Enregistrer \n', '_flags': [],
'childNodes': [], 'name'
# : None, 'parent': <code>}
print node.__dict__
f = open("Bookmarks_parser.html")
parser = html5lib.HTMLParser()
doc = parser.parse(f)
_recurse(doc)
-------Debut Code -------------
--Ad
> Le 04/02/2013 11:14, Alioune Dia a écrit :
>
> Bonjour Lien
> En fait ce qu'il faut savoir c'est que les développeurs ne font que suivre
> des normes
> qui sont définies par des organismes comme le W3C qui définit les étapes
> pour
> soumettre un formulaire par un UserAgent (Navigateur, Programme écrit par
> toi même)
>
> W3C dit que lorsque le UserAgent doit transmettre un formulaire, il doit
> spécifier
> comment le contenu qu'il transmet doit être analysé par le serveur . Il
> dit que chaque
> field/champ transmis est identifié part une paire clef/Valeur
>
> 1 "Content-Disposition" header whose value is "form-data".
> 2 name attribute specifying the control name of the corresponding control.
> Control names originally encoded in non-ASCII
>
> Autrement dit
> ---
> <INPUT type="text" name="submit-name" value ="Larry">
>
> correspond a
>
> Content-Disposition: form-data; name="submit-name"
>
> Larry
>
> ---
> Et
> ---
> <INPUT type="file" name="files">
>
> correspond a
>
> Content-Disposition: form-data; name="files"; filename="file1.txt"
> Content-Type: text/plain
>
> ... contents of file1.txt ...
> ---
> Mais W3c dit également que il faut spécifier les frontières pour que
> l'analyseur/Serveur puisse
> délimiter les limites de chaque Field/champ ainsi que son contenu , et que
> cette limite est
> contenu dans l’entête .
> Autrement dit :
>
> ---
> <FORM action="http://server.com/cgi/handle"
> enctype="multipart/form-data"
> method="post">
> correspond a
>
> Content-Type: multipart/form-data; boundary=AaB03x
>
> ---
> Et donc l'analyseur saura que lorsque il recevra de la part du UserAgent(
> FireFOX , Ton
> programme ) --boundary=AaB03x , il saura que la frontière c'est AaB03x et
> que
> il devra passer au champ/field suivant .
> Ainsi
>
> <FORM action="http://server.com/cgi/handle"
> enctype="multipart/form-data"
> method="post">
> <P>
> What is your name? <INPUT type="text" name="submit-name"><BR>
> What files are you sending? <INPUT type="file" name="files"><BR>
> <INPUT type="submit" value="Send"> <INPUT type="reset">
> </FORM>
>
> Correspond a
>
> --AaB03x
> Content-Disposition: form-data; name="submit-name"
>
> Larry
> --AaB03x
> Content-Disposition: form-data; name="files"; filename="file1.txt"
> Content-Type: text/plain
>
> ... contents of file1.txt ...
> --AaB03x--
>
>
>
> C'est tout ce qu'il y a a savoir, Maintenant que Tu utilise Mechanize,
> Goutte , Php, Python
> la logique ne change pas car elle est defnie par les cerveaux du W3c
> http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2
> --Ad
>
>
>
>
>
> Le 2 février 2013 22:51, Lien Rag <[email protected]> a écrit :
>>
>> iMacro n'est pas opensource et est bien moins souple que cURL mais c'est
>> aussi nettement plus simple et probablement adapté à ce que je veux faire en
>> attendant de prendre le temps de maîtriser cURL et les autres propositions
>> qui ont été faites - merci à tous donc.
>> Un tout petit pas pour l'humanité, mais un bond de géant pour moi!
>>
>> Par contre pour commencer à tester j'ai créé deux macros et elles sont
>> bien enregistrées dans le répertoire correspondant, mais elles
>> n'apparaissent pas dans la liste du plugin iMacro de Firefox (la liste est
>> vide), et il ne semble pas non plus y avoir de bouton permettant d'importer
>> les macros...
>>
>>
>> Le 31/01/2013 09:05, Genova a écrit :
>>
>> Un Bot c'est quoi
>> j'ai attendu se mot en info pour la premier fois quand je jouer à counter
>> strike.
>> c'était un joueur virtuelle controller par l'ordinateur qui devais faire
>> comme un vrai joueur et me battre aussi.
>>
>> Donc bot ou robot ces juste des programme informatique écris avec
>> différentes choses qui on des tâches varier suivant les besoins
>>
>> aujourd'hui je ne joue plus à cs mais à faire des bidulles ou chimulblick
>> sur internet
>> mon dernier blick http://senegallife.org ou j'ai des bot qui fait le
>> travail d'administration et de publication de contenu du blog à ma place
>> comme je suis papa j'ai plus le temps je dois donnée des biberon.
>>
>> comment je fait mais bots
>> un ordinateur de préférence un serveur linux, un language python ou tous
>> autre standar
>>
>> donc si tu t'y connais un peux en linux et en python le tours est jouer,
>> sinon
>>
>> il est toujours possible de faire des bots que l'on appel souvent des
>> macros
>> regarde se truc
>> https://addons.mozilla.org/en/firefox/addon/imacros-for-firefox/
>>
>> bon bot biboron ;-)
>>
>>
>>
>> Genova
>> +221772630047 / +221703337332
>> +221338697269 / +221338685574
>> 0033173033269
>> www.dofbi.com
>>
>>
>> Le 31 janvier 2013 08:30, Joeri Poesen <[email protected]> a écrit :
>>>
>>> Y a 2 frères Rag sur la liste? Cool.
>>>
>>> Bref:
>>> 1. http://man.cx/curl <-- comment utiliser curl
>>> 2. http://stackoverflow.com/a/3062356/626430 <-- comment curl à été
>>> intégré en PHP
>>> 3. success!
>>>
>>> J.
>>>
>>> ---
>>> Joeri Poesen
>>> Bantalabs Senegal
>>>
>>> +221 70 405 12 70
>>> bantalabs.com
>>>
>>>
>>> 2013/1/31 thomas rag <[email protected]>
>>>>
>>>> Comme l'indique la signification de son sigle qui signifie PHP:
>>>> Hypertext Preprocessor ( anagramme récursif, de l'obscurantisme de geek
>>>> :-P), l'usage le plus commun de php est la génération de page html, il est
>>>> donc utilisé majoritairement accolé à un serveur HTTP ... Mais il peut
>>>> aussi
>>>> très bien s'utiliser comme un langage de script ordinaire, à l'aide du
>>>> module cli (commande line interface)
>>>> sous ubuntu par exemple, un simple sudo apt-get install php-cli doit
>>>> suffire à te fournir ce dont tu as besoin, curl étant une fonction native
>>>> de
>>>> php. Les docs d'ubuntu (ou de fedora, ou n'importe quelle distribution) et
>>>> de php sont bien faites, elles te fourniront les infos dont tu as besoin.
>>>> Et sinon cURL n'est qu'une version php de la bibliothèque libcurl, tu
>>>> retrouve cette fonction dans d'autre langages, par exemple sous forme de
>>>> commande shell ( dans un terminal: "sudo apt-get curl" pour l'installer,
>>>> "man curl" pour les instructions d'utilisation) ou encore en perl.
>>>>
>>>> --
>>>>
>>>> Thomas Rag
>>>>
>>>>
>>>> Le 30 janvier 2013 23:14, Lien Rag <[email protected]> a écrit :
>>>>
>>>>> Comme le savent tous ceux que j'ai embêté avec mes questions à ce
>>>>> sujet, cela fait un moment que je cherche à faire un bot internet, tâche
>>>>> normalement facile pour qui a des compétences informatiques supérieures à
>>>>> mes maigres bribes éparses.
>>>>>
>>>>> J'ai d'ailleurs été très surpris lorsque j'ai demandé conseil aux
>>>>> différentes gamines maîtrisardes en informatique qui gravitent autour des
>>>>> "startup" du CTIC de voir qu'elles ne comprenaient absolument pas de quoi
>>>>> je
>>>>> parlais...
>>>>>
>>>>> Et en cherchant sur google je n'ai trouvé que des questions de
>>>>> script-kiddies.
>>>>>
>>>>> Finalement lors d'Innov'Africa un des jeunes d'Orange -fort sympathique
>>>>> d'ailleurs- m'a expliqué que pour automatiser des requêtes il fallait
>>>>> utiliser cURL.
>>>>>
>>>>> Après un peu de recherche sur le Net je vois que cURL est du PHP, donc
>>>>> vue que j'ai fait en tout et pour tout une heure de PHP dans ma vie (lors
>>>>> de
>>>>> la démonstration d'OrangInnov) j'ai cherché des tutoriels PHP.
>>>>> Et ces tutoriels disent clairement (ce qui est cohérent avec le peu que
>>>>> j'ai appris avec OrangInnov) qu'il faut avoir et une version de PHP et un
>>>>> serveur comme Apache.
>>>>>
>>>>> Autant je comprends que ce soit nécessaire pour créer un site web en
>>>>> PHP, autant pour ce que je veux faire (finalement ça se résume à un script
>>>>> qui va ouvrir une URL, récupérer les formulaires qui y sont,remplir
>>>>> certains
>>>>> champs et appuyer sur un bouton précis de la page web en question,
>>>>> éventuellement à tester que ce bouton envoie bien vers la page que
>>>>> j'attends, puis à répéter l'opération sur la nouvelle page) je ne
>>>>> comprends
>>>>> pas pourquoi j'aurais besoin d'Apache?
>>>>>
>>>>> Donc qu'est-ce que j'ai raté dans toute cette histoire?
>>>>>
>>>>> --
>>
>>
>
>
>
> --
> Ce message a été envoyé à la liste [email protected]
> Gestion de votre abonnement : http://dakarlug.org/liste
> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
> Le site du DakarLUG : http://dakarlug.org
--
Ce message a été envoyé à la liste [email protected]
Gestion de votre abonnement : http://dakarlug.org/liste
Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug
Le site du DakarLUG : http://dakarlug.org