Sockets du site pcinpact.com - avec vérifications des dernières news ajoutées

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 547 fois - Téléchargée 31 fois

Contenu du snippet

Pour les habitués de mes codes, c'est encore des sockets ... :)
Après LeMonde.fr, Clubic.com, Mcm.net, Vossey.fr, DoDnetwork.com, Athens2004.com, voilà www.pcinpact.com

le système est toujours le même, il faut taper /pcinp pour rafraichir les news (cela est fait automatiquement toutes les dix minutes pour vérifier si une nouvelle news est disponible).
Commandes :
- /pcinp view (pour voir toute la liste des 5 dernières news en entier)
- /pcinp help (pour voir toutes les commandes)
- /pcinp timer "on" ou "off" => /pcinp timer on fera activer la vérifications des nouvelles news

Format de la news donnée :
[PCInpact] [ News "PCInpact.Com" By -A-r-K-a-n-i-s- :: Heure : 14:38:52 :: News : Baladeur audio/vidéo 20Go Gmini400 d'Archos en France (39 commentaires) :: Lien : www.pcinpact.com/actu/news/Baladeur_audio_video_20_Go_Gmini_400_dArchos.htm?vc=1 ]

Contrairement aux autre sockets que j'ai fait, il est ici impossible de faire un "say". Pour le faire, il faut remplacer le "echo -a" par "say" ou "msg #chan" sur ce début de ligne : .timer $+ %pcinp 1 %pcinp echo -a

Source / Exemple :


alias pcinp {
  if (!$idle) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Commandes : /pcp view - /pcp timer "off" ou "on" 12::0 Script & Sockets By ArKanis 12] }
  if (($idle) && (!%pcinp.timer)) { return }
  if ($1 == view) { write -c pcinp.txt }
  if ($1 == timer) {
    if ((!$2) && ($2 != on) && ($2 != off) && (!%pcinp.timer == $null)) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Word 2 must be : on or off 12] | set %pcinp.timer off | return }
    if ((!$2) && ($2 != on) && ($2 != off) && (%pcinp.timer != $null)) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Word 2 must be : on or off 12::0 Timer status is actually %pcinp.timer 12-0 0 = off; 1 = on 12] | set %pcinp.timer off | return }
    if ($2 == off) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Timer is now off 12] | set %pcinp.timer 0 | return }
    if ($2 == on) { echo -a 2 $+ $asctime([HH:nn:ss]) 12,1[ 0Timer is now on 12] | set %pcinp.timer 1 | return }
    return
  }
  set %pcinp 0
  sockclose pcinp | sockopen pcinp www.pcinpact.com 80
}
on *:sockopen:pcinp:{
  if ($sockerr) { return }
  sockwrite -nt $sockname GET http://www.pcinpact.com/actu/archive.php?f=0&nbjour=2 HTTP/1.0
  sockwrite -nt $sockname $crlf
}
on *:sockread:pcinp:{
  if ($sockerr) { return }
  sockread %a
  if (href="/actu/news/ isin %a) { var %b = $remove(%a,<a href=",<br />,</a>) | var %b = $replace(%b," target="_blank">,$chr(32), /actu/news/,$chr(32))) | pcinp.verif %b }
;tout est stocké dans le fichier pcinp.txt dans le dossier de mIRC
}
alias pcinp.verif {
  if (!$1) { return }
  if (%pcinp >= 5) { return }
  tokenize 32 $1-
  inc %pcinp
  var %a = $1-
  if ((commentaire isin %a) && ($right($1-,1) == $chr(41))) {
;on exclue cette partie (commentaires, et Date), car autrement le script detecterai que la news ait changé à chaque nouveau commentaire
    var %a = $+(2-,$calc($0 - 2))
    var %a = $ [ $+ [ %a ] ]
  }
  if ($read(pcinp.txt,%pcinp) != %a) {
    .timer $+ %pcinp 1 %pcinp echo -a 2[3PCInpact2] 12,1[ 0News "PCInpact.Com" By 12-14A12-14r12-15K12-0a12-15n12-14i12-14s12- ::14 H15eure0 : $1 12::14 N15ews0 : $3- 12::14 L15ien0 : $+(www.pcinpact.com/actu/news/,$2) 12]
    write -il $+ %pcinp pcinp.txt %a
    write -dl6 pcinp.txt
    return
  }
}

;le timerpcinp est celui qui verifie qu'il n'y ait pas de nouvelles news
on *:connect:.timerpcinp 0 600 pcinp
on *:load:.timerpcinp 0 600 pcinp
on *:unload:.timerpcinp off

Conclusion :


Toutes mes sockets sont sur mon script :
http://tafroxafond.free.fr/ftp//Script%20irc%20By%20Arkanis/Script-ArKanis.zip

J'aimerai aussi savoir si c'est saoulant d'avoir un gars qui vous colle 10 000 sockets, 1 par page ... :)
Si c'est le cas, j'en ferai plusieurs sur la même page, ca doit bien faire un bon nombre de pages déjà a mon actif ... :)
Ajouter un commentaire Commentaires
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
surtout pour ce site ci car je sais pas si t'as vu mais il existe une page en .xml où il est grave plus simple de rechoper les infos que sur la page d'index ..
Messages postés
126
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
29 août 2004

Essaye de changer de registre un peu
Les sockets c bien mais a force ca devien repetitif et le systeme est toujour relativement le même quand on traite l'info d'un site donc c'est pa vrmt ca qui fait progresser
Messages postés
1726
Date d'inscription
vendredi 12 septembre 2003
Statut
Membre
Dernière intervention
13 juin 2009
1
jle trouve vachement gros pour ce que c'est ton code, pour ce site (j'ai fais aussi un system de rappatriement des news pour ce site mais pas limité à 5)

et pour ton idée de faire un addon regroupant plusieurs sites pour avoir les news:
http://membres.lycos.fr/xdbconcept/scripting/mnews-.PNG

;)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.