Il y a un truc qui m'énerve depuis longtemps sur le RSS du monde, les dépêches ont un corps vide disant d'aller sur le site.
J'ai donc fait vite fait un petit script qui bourrinement va chercher le contenu de la dépêche sur l'url indiquée et remplace le contenu du tag description.
Il suffit de dire à liferea de l'utiliser ("Utiliser un filtre de conversion" dans l'onglet "Source du flux") et voilà !
#!/usr/bin/ruby
require "rexml/document"
require 'uri'
require 'net/http'
require 'iconv'
doc = REXML::Document.new $stdin
doc.elements.each("//item") { |item|
if (item.elements['title'].text =~ /D\303\251p\303\252che/)
uri = URI.parse(item.elements['link'].text)
h = Net::HTTP.new(uri.host)
begin
resp,data = h.get(uri.path)
rescue
end
data.sub!(/^.*(.*?)<\/div.*\z/m, '\1')
data.sub!(/<img src="http:\/\/medias.lemonde.fr\/mmpub\/img\/let\/.\.gif" alt='(.)'/,'\1<')
data.gsub!(/<.*?>/, '')
data.gsub!(/\n/, '<br/>')
item.elements['description'].text = Iconv.iconv('UTF-8', 'ISO-8859-15', data)
end
}
doc.display
# Le même en bash ?
Posté par _Hitek_ (site web personnel) . Évalué à -1.
[^] # Re: Le même en bash ?
Posté par Pascal Terjan (site web personnel) . Évalué à 2.
Mais bon je ne doute pas que des gens vont essayer à la lecture de ce journal :)
[^] # [OT] Re: Le même en bash ?
Posté par Fabien Soulier . Évalué à 3.
Mon Apr 24 14:29:50 CDT 2006 [...] d/guile-1.8.0-i486-1.tgz: Upgraded to guile-1.8.0. I don't think anything in Slackware depends on guile any more, and that the only thing that ever did was a solitaire game in GNOME. Since the GNOME distributions for Slackware are already including their own guile packages, I'm considering this package for removal. How generally useful is it? Perhaps something like Ruby in the D series instead would be more useful.
[^] # Re: Le même en bash ?
Posté par sobek . Évalué à 2.
Du Ruby c'est bien. A la rigueur du perl, si on voulait reposer sur une base (quasi) universelle...
[^] # Re: Le même en bash ?
Posté par 태 (site web personnel) . Évalué à 2.
Le mieux est clairement d'utiliser curl (ou équivalent) et awk.
[^] # Re: Le même en bash ?
Posté par Sylvain Sauvage . Évalué à 2.
# Ruby
Posté par agmk . Évalué à 5.
# Zouper !
Posté par renaud . Évalué à 1.
Bon, j'ai besoin d'un poil plus que ca, mais c'est toujours ca de gagner.
Bien le merci et la licence ?
[^] # Re: Zouper !
Posté par Pascal Terjan (site web personnel) . Évalué à 10.
# Sinon pour akregator...
Posté par Nicolas Schoonbroodt . Évalué à 4.
Bon, évidement, vous avez droit à la pub, les menus, et votre lecteur de flux devient une sorte de navigateur "différent". J'aimait bien l'option de filtre de liferea... faudra que je regarde si ça peut se faire simplement...
En fait le plus simple (enfin, "simple") serait de faire un petit deamon (à partir du filtre liferea peut-être ?), hop on fait tourner ça sur un port inocupé de sa machine, et tous les lecteurs de flux peuvent en profiter... je vais voir si c'est faisable... et si j'ai le temps.
[^] # Re: Sinon pour akregator...
Posté par Nicolas Schoonbroodt . Évalué à 7.
[^] # Re: Sinon pour akregator...
Posté par Nicolas Schoonbroodt . Évalué à 7.
Ah, aussi, évitez de faire tournez le truc de façon visible : http://vous.com/bin/ls/http://autrechose ainsi que plein d'autres injections possibles ;-)
Le gars qui a programmé ça est vraiment trop nul... ;-)
[^] # Re: Sinon pour akregator...
Posté par z a . Évalué à 5.
[^] # Re: Sinon pour akregator...
Posté par renaud . Évalué à -5.
[^] # Re: Sinon pour akregator...
Posté par Nicolas Schoonbroodt . Évalué à 4.
(enfin, c'est l'idée : s/d/demon/ s/c/connexion/ s/r/requete/ s/req/requete/ s/res/resultat/ s/b/browser/ )
les deux seuls trucs pas jolis sont : 1. je n'ai pas trouvé comment faire un appel de commande en pipant l'entrée et la sortie directment et 2. le découpage de la chaine, qui n'est déjà pas belle au départ ;-)
Ensuite, j'ai jamais dit que j'était capable d'exploiter un language de script, je n'aime pas trop ça, je fait juste un truc "qui marche"
(j'ai bien marché dedans, en plus)
[^] # Re: Sinon pour akregator...
Posté par renaud . Évalué à 0.
Je sais bien que tu n'as pas fais la même chose, j'aime pas Perl, mais je sais lire :)
C'était juste une taquinerie sur la syntaxe Perl (aka tractopele) vs Ruby (aka fleur des champs)
[^] # Re: Sinon pour akregator...
Posté par fredix . Évalué à 1.
# Proposer l'extension au dépôt Snownews ?
Posté par mouskouyouss . Évalué à 2.
http://kiza.kcore.de/software/snownews/snowscripts/
[^] # Yaka Faukon
Posté par Florent Zara (site web personnel, Mastodon) . Évalué à 5.
# Sage
Posté par Zorro (site web personnel) . Évalué à 2.
[^] # Re: Sage
Posté par m0nk . Évalué à 2.
merci Pascal
# Tant qu'on y est...
Posté par Snark_Boojum . Évalué à 2.
J'ai régulièrement envie de virer ce flux rien qu'à cause de lui.
# Marche pô...
Posté par tgl . Évalué à 2.
C'est probablement templeet qui l'aura mangé...
Mais il faudra que j'attende un MAJ du flux pour être sûr (ou bien que qlq'un me dise si il est possible de forcer la relecture d'un flux dans Liferea, sans envoyer de timestamp HTTP).
[^] # Re: Marche pô...
Posté par Pascal Terjan (site web personnel) . Évalué à 2.
# pointilleux
Posté par Éric (site web personnel) . Évalué à 2.
Bien que le site soit public, en allant chercher de manière systématique et automatique les derniers contenus en ligne, tu tombent probablement sur le droit des bases de données et tu dois avoir une autorisation pour ça.
Je ne dis pas ça pour ce script là qui ne fait pas de mal, mais plus ppour prévenir car le diffuser avec liferea, avec une distrib ou dans un cadre plus grand peut poser problème.
[^] # Re: pointilleux
Posté par Xavier Teyssier (site web personnel) . Évalué à 2.
Il me semble que lorsqu'on met en place un flux RSS, on peut choisir d'y inclure ou non le contenu de l'article.
Manifestement, le journal Le Monde ne l'a pas souhaité. Est ce alors vraiment "éthique" de récupérer ainsi automatiquement des articles qui volontairement n'ont pas été inclus dans le RSS ?
Ca me semble allez à l'encontre du choix de ce journal.
[^] # Re: pointilleux
Posté par Sylvain Sauvage . Évalué à 2.
Pas forcément : ils ont décidé de ne pas diffuser le corps à tout le monde. Rien ne dit qu'ils refuseraient de le faire pour ceux qui le souhaiteraient. Sauf que c'est lourd, pour eux (choix => gestion du choix => deux flux) et pour l'utilisateur (hou là, un choix). Et puis d'aucuns peuvent trouver que recevoir tout l'article alors qu'ils ne sont pas intéressés est plus lourd que de cliquer pour avoir l'article complet s'il les intéresse.
Évidemment, on peut aussi penser qu'ils préfèrent que l'on visite leur site (avec les pubs ;o).
Enfin, un robot qui récupère un contenu qu'un humain lira, ce n'est pas la même chose qu'un syphonage de site vers /dev/null simplement pour les ennuyer. C'est encore moins comparable aux gadgets qui pompent toutes les 5 min des sites de météo pour afficher de jolis nuages/soleil pour les 10 jours à venir.
[^] # Re: pointilleux
Posté par Pascal Terjan (site web personnel) . Évalué à 4.
[^] # Re: pointilleux
Posté par Éric (site web personnel) . Évalué à 2.
Quelqu'un pour confirmer/infirmer ? (de toutes façons ça reste théorique, personne ne t'embêtera pour ça je pense)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.