Vous n'êtes pas identifié(e).

Top posteurs

Statistiques

Partenaires

  • eXolia Hosting
  • Eggdrop.fr

#1 16/04/2013 11:28:06

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

[Recherche] TCL pour récupérer des infos sur un site

Bonjour

Support : UnrealIRCD
Service : Anope
Eggdrop : eggdrop1.6.21

Je cherche un tcl me permettant de réccupérer des infos txt de sites internet.

J'ai testé rss-synd.tcl mais ce n'est pas parfait.
Le probleme du RSS est que ce n'est pas actualisé assez rapidement. Hors je cherche à afficher des infos dans la minute.

Pour les traduire et les dispatcher sur les channels je devrai me débrouiller mais je cale pour les chercher directement sur les sites.

Suis preneur de toute idée, merci

Than

Edit : apparemment je peux également réccupérer des infos par telnet mais j'ai peur que ça tire trop sur le client

Dernière modification par Maxwell (16/04/2013 13:07:42)

Hors ligne

#2 16/04/2013 20:07:37

Harakiri
Administrateur
Lieu : Paris
Inscription : 02/07/2011
Messages : 261

Re : [Recherche] TCL pour récupérer des infos sur un site

Je ne connais pas grand chose en TCL, mais je ne suis pas sûr d'avoir compris exactement ce que tu recherches.
Est-ce que tu recherches plutôt quelque chose qui t'aide à parser le HTML des pages web ? Ou à aller chercher des informations dans une base SQL (si tu es l'admin de la base de données) ?
Le RSS n'est probablement pas la meilleure solution pour obtenir des informations qui ne sont pas susceptibles de faire l'objet d'une diffusion RSS. Mais si tes infos sont dedans, alors j'imagine que c'est une bonne idée.


EOF

Hors ligne

#3 16/04/2013 20:36:08

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

Je n'ai aucun acces sql à ces infos

En gros je tente de rechercher ces informations :

http://www.dxsummit.fi/CustomFilter.asp … omRange=28
http://www.dxscape.com/wwcw.html

pour les dispatcher en fonction des fréquences (et/ou mode) sur différents salons
C'est actualisé je dirai toutes les minutes suivant les heures et les pays

A force de chercher, j'ai trouvé que ces sites utilisent DXSpider via telnet.
Je ne sais pas si l'eggdrop avec un acces peut se connecter à un compte pour chercher les infos, quand je m'y connecte je suis viré au bout d'une minute pour ne pas ralentir le support.

J'ai trouvé une base de tcl mais j'imprime pas trop le fonctionnement :
https://forums.hamisland.net/showthread … -scripting

Il me semblait qu'avec le tcl http et un autre on pouvait rechercher des infos sur une page web mais je n'arrive pas à me rappeler et je trouve pas sur les forums d'aide, je ne dois pas avoir les bons mots clés.
Au pire je pourrai contacter l'auteur du tcl ci dessus mais pour l'instant je n'ai pas trop envie d'attirer du monde tant que le site et le serveur ne sont pas carrés.

Je me casse la tete pour trouver car c'est une des conditions que je me suis fixé pour lancer le serveur.

Hors ligne

#4 16/04/2013 21:45:59

OxMoZ
Modérateur
Inscription : 23/08/2011
Messages : 45

Re : [Recherche] TCL pour récupérer des infos sur un site

Tu veux absolument utiliser un eggdrop ?

A ta place j'utiliserai un bot en python (supybot par exemple) et http://docs.python.org/2/library/htmlparser.html pour récupérer les infos que tu veux sur le site en question

des pistes éventulles pour parser le html avec tcl :

http://wiki.tcl.tk/9645
http://wiki.tcl.tk/14517
http://tcllib.sourceforge.net/doc/htmlparse.html

pour le module http : http://scripts.eggdrop.fr/details-http-s111.html

Sinon tu pourrais nous faire un petit cours sur les radios amateurs ? moi pas connaitre smile

good luck

Hors ligne

#5 16/04/2013 22:58:47

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

Absolument me servir d'un eggdrop : non pas forcement, mais au moins je peux trier les $arg pour savoir ce que je veux afficher et où.

Je ne connais pas du tout python et compagnie, il faut que le robot soit hébergé sur le shell eggdrop tcl ou perl ou autre.

Je regarderai tes liens demain, merci pour les pistes

Pour le cours sur les radioamateurs pas de probleme, je ferai une petite pub pour le serveur quand tout sera opérationnel.
Sachant qu'il y a environ 15 000 radioamateurs en france (indicativé), que ça ne s'arrange pas entre les décès et le peu de releve, tenant compte des 2 examens obligatoires pour obtenir son indicatif avant de pouvoir émettre, les nouveaux sont toujours bien accueillis dans tout bon radioclub.

Hors ligne

#6 17/04/2013 10:00:29

Nickoos
IRCzien
Lieu : Treignes
Inscription : 10/09/2011
Messages : 164

Re : [Recherche] TCL pour récupérer des infos sur un site

Bonjour,

Je vais y regardé dans la journée.

Hors ligne

#7 17/04/2013 10:51:16

Nickoos
IRCzien
Lieu : Treignes
Inscription : 10/09/2011
Messages : 164

Re : [Recherche] TCL pour récupérer des infos sur un site

Si je comprend bien sa demande, il aimerait récupéré ceci :

BG6IMK         28120.0 BG6IMK       CQ    CQ                           0846 17 Apr   China
UA3ARC-@       28076.0 VK3FM        JT65 -13dB                         0746 17 Apr   Australia
BG6IMK         28120.0 BG6IMK       CQ   CQ    CQ                      0744 17 Apr   China
UA3ARC-@       28121.3 JA1UTZ       PSK31                              0738 17 Apr   Japan
UA3ARC-@       28121.3 JA1CLW       PSK31                              0736 17 Apr   Japan
UA3ARC-@       28076.0 JA1OYY       JT65 -9dB                          0734 17 Apr   Japan
OH4SS          28481.0 JA1LJF       nice sig. cq                       0728 17 Apr   Japan
UA3ARC-@       28121.8 BG4ACE       PSK31 CQ                           0728 17 Apr   China
TR8CA          28076.0 UA3ARC       tks                                0726 17 Apr   European Russia
UA3ARC-@       28076.0 TR8CA        JT65 -13dB                         0725 17 Apr   Gabon
UA3ARC-@       28120.0 VK3TDX       PSK31                              0723 17 Apr   Australia
BU2BV-@        28490.0 VK2CR        TNX                                0722 17 Apr   Australia
UA9UDX-@       28490.0 VK2CR        PETER                              0717 17 Apr   Australia
HA2MI          28005.0 EX2F         JN86LH<>MN72DT                     0715 17 Apr   Kyrgyzstan
JA4CSJ         28500.0 R9AE         tks alex use Small loop ant        0711 17 Apr   Asiatic Russia
VK2HV          28442.0 ZS3Y         Volker +20dB now qrt               0710 17 Apr   South Africa
DU2XXA         28500.0 R9AE         tnx Alex                           0705 17 Apr   Asiatic Russia
R3HD-@         28018.0 JA7QVI                                          0703 17 Apr   Japan
UA3ARC-@       28076.0 VK2HFP       JT65 -22dB                         0657 17 Apr   Australia
VK2FJC-@       28500.0 R9AE         59 Thank You                       0657 17 Apr   Asiatic Russia
VK2FAJA        28442.0 ZS3Y                                            0656 17 Apr   South Africa
VK2HV          28442.0 ZS3Y         Voker with vk4cq                   0639 17 Apr   South Africa
JF6XQJ         28030.1 V63DX        IOTA OC-010                        0629 17 Apr   Micronesia
UA6GR-@        28030.2 V63DX                                           0625 17 Apr   Micronesia
BD7DX          28008.0 DU3/N0QM     cq cq                              0612 17 Apr   Philippines
RW3XW          28008.0 DU3/N0QM     lonely                             0607 17 Apr   Philippines
RK4CF-@        28121.9 BG4ACE       tnx QSO                            0559 17 Apr   China
ZS6WN          28012.5 ZL4PW        tnx Paul 599                       0542 17 Apr   New Zealand
RD9AF-@        28012.7 ZL4PW                                           0527 17 Apr   New Zealand
VK2FJC-@       28460.0 W6VA                                            0401 17 Apr   United States
WK6RF          28475.0 VK2FALL                                         0356 17 Apr   Australia
W3LPL          28025.9 5W0M                                            0304 17 Apr   Samoa
JA1JEJ         28026.0 5W0M                                            0259 17 Apr   Samoa
XE2EX          28464.8 VK3MTV       Greg                               0249 17 Apr   Australia
XE2EX          28455.0 W6VA         Al                                 0242 17 Apr   United States
XE2EX          28462.0 VK2FAJA                                         0229 17 Apr   Australia
VK2LAW-@       28480.0 VU2DSI       Datta cq VK ZL                     0211 17 Apr   India
KK1KW          28462.0 VK2FAJA                                         0209 17 Apr   Australia
VK2SD-@        28480.0 VU2DSI       5/9 report                         0158 17 Apr   India
WA2VQV         28445.0 5W0M         59 in DE                           0143 17 Apr   Samoa
NR7Q           28030.0 K3ZMP                                           0143 17 Apr   United States
W7GO           28444.7 5W0M         5W0M not W05M                      0141 17 Apr   Samoa
K4JAF          28444.8 5W0M         strong NW FL                       0141 17 Apr   Samoa
WA4PBW         28444.7 W05M         wrkd w steppir vert                0138 17 Apr   United States
K3XT           29600.0 KH6RC        FM Randy HI                        0137 17 Apr   Hawaii
N5OHL-@        28445.0 5W0M         Simplex                            0136 17 Apr   Samoa
KL2YV          28444.8 5W0M         5/7 in Alaska                      0131 17 Apr   Samoa
N2ZL-@         28444.9 5W0M         100 wts from NJ!                   0130 17 Apr   Samoa
N2ZL-@         28444.9 5W0M         100 wts from NJ!                   0128 17 Apr   Samoa
KK1KW          28445.0 5W0M                                            0127 17 Apr   Samoa

Hors ligne

#8 17/04/2013 12:12:44

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

CrazyCat : Je n'ai pas encore trouvé un rss satisfaisant je pense, celui que j'ai n'est pas top, mais si on peut modifier le temps de réaction ça pourrait faire l'affaire. En + le rss annonce au fur et à mesure donc - de souci par rapport à de la réccup html.
Le seul hic : je ne trouve pas de rss comprenant ces données, je vais chercher un peu dans cette direction

Nickoos : oui c'est exactement ce que je veux trier

Je viens de regarder pour tdom mais apparemment il faut le pack.

A la vue du nombre de plantage de mon bot à chaque rehash, ça a l'air chaud à faire cette histoire, je m'en rendais pas bien compte.

Hors ligne

#9 17/04/2013 12:36:02

Darks
IRCzien
Inscription : 04/07/2011
Messages : 122

Re : [Recherche] TCL pour récupérer des infos sur un site

Bonjour,
Je te conseille d'utiliser python pour ce genre d'actions... C'est assez simple à faire.

Code: Python
 
import urllib
page=urllib.urlopen('http://ircz.fr')
strpage=page.read()
print strpage
 

Il suffira ensuite de trier le contenu de la page... En python rien de bien compliqué.

Code: Python
 
import re, urllib
htmlSource = urllib.urlopen("http://www.dxsummit.fi/CustomFilter.aspx?customCount=50&customRange=28").read(200000)
Elements = re.findall('<A (.*?)>(.*?)</A>',htmlSource)
for y in Elements:
    print y
 

...
('href="http://www.qrz.com/db/R9AE"class="qrz" target="_blank"', 'R9AE        ')
...

J'ai fait n'importe quoi pour le tri sur la regex, c'est juste pour te montrer la simplicité de la chose
A toi de filtrer ce qui t'intéresse !

Dernière modification par Darks (17/04/2013 12:49:52)

Hors ligne

#10 17/04/2013 13:45:57

Nickoos
IRCzien
Lieu : Treignes
Inscription : 10/09/2011
Messages : 164

Re : [Recherche] TCL pour récupérer des infos sur un site

Le code de Darks est niquel.

Code: Python
Elements = re.findall('<pre>(.*?)</pre>',htmlSource)

Voici ce que donnerai ton parseur pour la page http://www.dxscape.com/wwcw.html

Hors ligne

#11 17/04/2013 14:40:39

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

merci je vais voir avec python mais je connais pas du tout ce langage

j'ai maté les rss sur tous les sites, c'est raté de ce coté il n'y a aucun site equipé avec sur les pages de spots

Je me demande si avec le langage python je peux afficher juste ce qui arrive et non la page entiere.

J'ai discuté avec un om qui me confirme qu'il faut passer par telnet mais je vois pas comment relier l'egg au telnet du cluster sans bouffer ses ressources

Merci de l'aide en tout cas

Hors ligne

#12 17/04/2013 16:24:04

Darks
IRCzien
Inscription : 04/07/2011
Messages : 122

Re : [Recherche] TCL pour récupérer des infos sur un site

L'eggdrop n'est selon moi pas une bonne idée.
Tu peux réaliser un script dans n'importe quel langage, qui périodiquement récupère le contenu d'une page html et le stock soit en base de données, soit en fichier texte, soit dans n'importe quel format que tu le souhaites, puis ensuite utiliser un eggdrop pour lire le contenu de ce fichier. Mais charger un eggdrop de récupérer du contenu web, je suis pas persuadé que ce soit la meilleur solution, c'est assez "lourd" en terme d'exécution.

Ou alors, tu passes par un bot déjà développé en python, tu copies colles ce que j'ai donné et c'est terminé..

Hors ligne

#13 17/04/2013 17:06:44

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

Comme on m'a toujours appris à écouter les gens qui savent, je vais utiliser votre méthode :

Si j'ai bien compris :
- je dois créer un script que je vais intégrer à mon site (via une certaine balise comme php avec <?) ?
- ce script est en python ?
- ce script va générer un fichier qui sera ensuite lu par l'egg

Hors ligne

#14 17/04/2013 18:36:10

Nickoos
IRCzien
Lieu : Treignes
Inscription : 10/09/2011
Messages : 164

Re : [Recherche] TCL pour récupérer des infos sur un site

Hum...

Autant directement faire ton bot en python du coup.

Il y avoir encore le code de Darks qui traine quelque part dans les snippetz.

Hors ligne

#15 17/04/2013 18:53:47

Harakiri
Administrateur
Lieu : Paris
Inscription : 02/07/2011
Messages : 261

Re : [Recherche] TCL pour récupérer des infos sur un site

Je pense que pour un script de ce genre, il faut éviter d'externaliser un maximum. C'est à dire qu'il faut éviter de faire une partie dans un processus et le reste dans un autre. Ce n'est pas vraiment adapté, et tu verras vite apparaitre des problèmes de synchronisation. Il faut que le processus "central" sache à tout moment quand est-ce qu'il doit aller chercher les informations, quand est-ce qu'il doit les mettre à jour et à la suite de tout cela, quand est-ce qu'il doit traiter ces données (sur IRC dans le cas présent).

En clair, à mon avis, tu devrais faire tout dans un seul bot, soit tout dans un TCL, soit tout dans un bot en Python ou peu importe le langage.

Mon avis perso sur l'utilisation de l'eggdrop pour aller chercher les informations :

Je ne suis probablement pas aussi calé que Darks, Nickoos et CrazyCat sur le sujet parce que je n'ai absolument aucune expérience avec TCL ou Eggdrop, mais l'histoire de la consommation de ressources me parait un peu étrange.

Je ne sais pas si c'est directement lié au fait qu'Eggdrop ou que TCL bouffe un max de ressources pour quoi que ce soit, mais il me semble que dans tous les cas, les requêtes HTTP et le parsing HTML prendront à la fois du temps et des ressources sur le système, quel que soit le langage. Bien entendu, tout dépend de la façon dont est implémentée la chose, mais je suis certain que les bibliothèques les plus répandues sont suffisamment optimisées pour effectuer quelque chose de pas trop gourmand. Est-ce que je me trompe totalement ? (C'est bien possible).


EOF

Hors ligne

#16 17/04/2013 21:07:32

OxMoZ
Modérateur
Inscription : 23/08/2011
Messages : 45

Re : [Recherche] TCL pour récupérer des infos sur un site

Code: Python
 
import urllib
from bs4 import BeautifulSoup
 
htmlSource = urllib.urlopen("http://www.dxscape.com/wwcw.html").read(200000)
soup = BeautifulSoup(htmlSource)
text1 = soup.get_text()
text2 = text1.split('\n')
deb = 0
for i in text2:
	if ('[WW]' in i):
		deb = deb + 1
	if deb == 1:
		print i
 

Hors ligne

#17 17/04/2013 23:51:12

Darks
IRCzien
Inscription : 04/07/2011
Messages : 122

Re : [Recherche] TCL pour récupérer des infos sur un site

Un bot en python qui tourne très bien :
https://github.com/sbp/phenny

Hors ligne

#18 18/04/2013 10:40:04

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

je m'arrache les cheveux avec ça :

le python doit se mettre sur un site ou sur mon shell svp ?

j'ai testé ça :

   

James a écrit :

    <HTML>

    <HEAD><TITLE>Exercice avec Python</TITLE></HEAD>

    <BODY>

     

<DIV ALIGN="center">

    <IMG SRC="penguin.gif">

    <H2>Page Web interactive</H2>

    <P>Cette page est associée à un script Python</P>

     

    <FORM ACTION="http://Serveur/cgi-bin/input_query.py" METHOD="post">

    <INPUT TYPE="submit" NAME="send" VALUE="Exécuter le script">

    </FORM>

     

    </DIV></BODY></HTML>

j'ai collé le script de OxMoZ dans un fichier nommé dx.py, remplacé le lien dans l'exemple ci dessus et au résultat il affiche simplement le code python

Hors ligne

#19 18/04/2013 10:56:22

Darks
IRCzien
Inscription : 04/07/2011
Messages : 122

Re : [Recherche] TCL pour récupérer des infos sur un site

Sous SSH :

chmod 755 thescript.py
./thescript.py

Hors ligne

#20 18/04/2013 12:07:24

Harakiri
Administrateur
Lieu : Paris
Inscription : 02/07/2011
Messages : 261

Re : [Recherche] TCL pour récupérer des infos sur un site

Maxwell a écrit :

le python doit se mettre sur un site ou sur mon shell svp ?

En fait ça dépend de toi, les deux son envisageables. Tu peux exécuter le script python en tant que CGI, si ton serveur web est configuré pour.
Mais je ne crois pas que ce soit la solution la plus adaptée dans ton cas, puisque c'est généralement utilisé pour faire un rendu HTML, comme PHP, puisque c'est du CGI.

Mais tu peux effectivement l'exécuter en le mettant n'importe où sur ton système (ce que tu appelles ton shell). Pour l'exécuter, il faudra effectivement que tu fasses quelque chose comme ce que Darks a indiqué.
Maintenant, il te faut savoir ce qui l'exécutera.

A mon avis il manque une petite étape.

Ce que tu souhaites pouvoir faire semble être l'envoi de données HTML sur IRC. Il faut donc que tu aies un bot qui soit connecté, et qui fasse le travail de récupération de données, pour ensuite les répandre sur les fameux channels.
Il ne s'agit pas simplement d'avoir le bout de code qui récupère les données et qui les affiche.

Dans l'idéal, si tu veux continuer avec Python, il te faut trouver un bot qui gère les extensions en Python, qui te permette de récupérer des données via ces scripts externes (sous forme d'add-on) et de les envoyer sur IRC.
J'imagine que c'est ce que fait "phenny", mais il te faut encore construire le tout, c'est à dire faire reconnaitre ce script comme un add-on pour pouvoir afficher tout ça sur IRC.

Je te suggère de passer sur IRC (irc.exolia.fr #IRCz) quand tu auras un moment. Vu que tu ne sembles pas très à l'aise avec tout ça, je pense que ça serait plus efficace. À toi de voir. smile


EOF

Hors ligne

#21 18/04/2013 12:48:32

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

Merci, je prépare le kawa et je passe

En fait le tcl ça commence à revenir un peu, c'est pas là mon probleme, c'est surtout que je connais pas du tout python, je sais pas où ça se lance ni comment et je ne sais pas comment le modifier suivant les besoins.

Pour celà que je pensais utiliser directement l'egg. Maintenant si python est la meilleure solution je vais l'utiliser

Hors ligne

#22 18/04/2013 15:51:59

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

Grace à l'aide de Harakiri un txt est créé via un wget

Il me reste à créer un tcl qui va
- lire le fichier
- créer en variable la derniere ligne
- trier et balancer sur les salons ce que je veux
- supprimer le fichier txt
- refaire un wget
- partir de la variable enregistrée pour  éviter les répétition
- trier etc...

Je ne sais pas si c'est la meilleure des solutions, mais je devrai me débrouiller à partir de là.
Merci d'avoir une petite pensée pour mon bot qui va planter de nombreuses fois dans les jours à venir smile

et merci de l'aide

Hors ligne

#23 18/04/2013 23:24:06

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

moi je veux bien mais ...

James a écrit :

Your email or IP address matches that of a known spammer and therefore you cannot register here. If you feel this is an error, please contact the administrator or try again later.

Sachant que je possede le domaine orbite.org depuis des années, je vois pas trop comment il peut vous spammer smile
J'ai testé un alias d'un autre domaine mais même réponse

Hors ligne

#24 19/04/2013 07:23:59

Maxwell
Nouveau IRCzien
Inscription : 08/04/2013
Messages : 21

Re : [Recherche] TCL pour récupérer des infos sur un site

pire, suis dans le bordelais

Hors ligne

#25 02/05/2013 01:50:04

Diogene
IRCzien chevronné
Lieu : Le Mans
Inscription : 09/07/2011
Messages : 181

Re : [Recherche] TCL pour récupérer des infos sur un site

Bsr,

As-tu résolu ton soucis?

Cdlt, Dio.


Mieux vaut mourir incompris que passer sa vie à s'expliquer. [William Shakespeare]

Bon, c'est Diogene, mais c'est un humain malgré tout [CrazyCat]

Hors ligne

Pied de page des forums

1272124 visites ( 103 aujourd'hui ) 2 visiteurs en ligne
Copyright © 2004 - 2013 IRCz