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).
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
Bookmarks.html qui m'intéresse en dictionnaire pour pouvoir boucler
dessus...
Un gentil pythoniste pour m'aider sur ce dernier point?
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]
<mailto:[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 <http://www.dofbi.com>
Le 31 janvier 2013 08:30, Joeri Poesen <[email protected]
<mailto:[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 <http://bantalabs.com>
2013/1/31 thomas rag <[email protected] <mailto:[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]
<mailto:[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