Maison >développement back-end >Tutoriel XML/RSS >Description du service RSS Python relatif

Description du service RSS Python relatif

Y2J
Y2Joriginal
2017-05-06 09:30:161844parcourir

Le service XML le plus performant à ce jour est Python RSS Bien que ses origines soient très confuses, le langage Python est en effet un excellent outil de traitement RSS. Cet article présente quelques modules pouvant être utilisés pour le traitement RSS.

RSS est une abréviation qui peut être représentée par diverses extensions : "RDF Site Summary (RDF Site Summary)", "Really Simple Syndication", "Rich Site" Summary (Rich Site Summary)". Peut-être que d’autres extensions peuvent être utilisées pour l’exprimer. Derrière un nom aussi déroutant, vous trouverez un nombre surprenant d'histoires liées à un domaine technologique aussi banal. RSS est un format XML simple utilisé pour diffuser des résumés de contenu sur un site Web. Il peut être utilisé pour partager une grande variété d'informations, y compris (mais sans s'y limiter) des newsletters, des

mises à jour

de sites Web, des calendriers d'événements, des mises à jour de logiciels, des collections de contenus de fonctionnalités et des informations Web. Articles basés sur les enchères. Python RSS a été créé par Netscape en 1999 et permettait d'agréger du contenu provenant de nombreuses sources d'informations dans le portail Netcenter (ce portail n'existe plus aujourd'hui). Les passionnés du Web de la communauté UserLand sont devenus les premiers partisans du RSS, et le RSS est rapidement devenu un format très populaire.

Cette popularité rend difficile pour les gens d'améliorer le RSS afin qu'il puisse être utilisé dans davantage d'endroits. Cette limitation a conduit à des divergences dans le développement du RSS. Un groupe a choisi une approche basée sur RDF, visant à tirer parti du grand nombre d'outils et de modules RDF, tandis que l'autre groupe a choisi une approche plus compacte.

Le premier s'appelle RSS 1.0, tandis que le second s'appelle RSS 0.91. Le mois dernier, la concurrence entre les deux s'est intensifiée avec l'émergence d'une nouvelle version de la variante non RDF du RSS, que ses créateurs appellent « RSS 2.0 ».

RSS 0.91 et 1.0 sont très populaires et de nombreux portails et journaux Web les utilisent. En fait, la communauté des blogueurs est un utilisateur majeur de RSS, c'est pourquoi certains des réseaux d'échange XML existants sont impressionnants.

Ces réseaux se sont développés de manière organique et sont véritablement devenus les réseaux de diffusion XML les plus performants qui existent. RSS devient un service XML car il permet d'échanger des informations XML via le protocole Internet (la grande majorité des échanges RSS sont de simples HTTP GET de documents RSS Python).

Dans cet article, nous avons présenté quelques-uns des nombreux outils Python pouvant fonctionner avec RSS. Nous ne fournirons pas d’introduction technique au RSS, comme vous pouvez l’obtenir dans de nombreux autres articles.

(voir Ressources). Nous vous recommandons de vous familiariser d'abord brièvement avec les connaissances RSS et de comprendre XML. Vous n'avez pas besoin de comprendre RDF. [Étant donné que RSS utilise une description XML au lieu de

WSDL

, nous traitons RSS comme un « service XML » plutôt que comme un « service Web ». - Note de l'éditeur ] RSS.py écrit par Mark Nottingham est une bibliothèque Python pour le traitement RSS. C'est très complet et bien écrit. Il nécessite Python 2.2 et PyXML 0.7.1. Son

installation

est très simple : il vous suffit de télécharger le fichier Python depuis la page d'accueil de Mark et de le copier quelque part dans votre PYTHONPATH. La plupart des utilisateurs de RSS.py eux-mêmes n'ont qu'à se soucier des deux classes qu'il propose : CollectionChannel et TrackingChannel. Cette dernière semble être la plus utile des deux classes. TrackingChannel est une structure de données qui contient toutes les données RSS indexées

par le mot-clé de chaque élément. CollectionChannel est une structure de données similaire, mais sa structure ressemble davantage au document RSS lui-même.

Ses informations de canal de niveau supérieur utilisent une représentation URL de la valeur de hachage pointant vers les détails de l'élément. Vous utiliserez très probablement la déclaration d'espace de noms de l'utilitaire dans la structure RSS.ns. Le listing 1 est un script simple qui téléchargera et analysera le flux RSS Python pour les actualités Python et imprimera toutes les informations de chaque élément dans une liste simple.

Nous commençons par créer une instance TrackingChannel et la remplissons avec les données analysées à partir du flux RSS sur http://www.python.org/channews.rdf. RSS.py utilise des tuples comme

noms de propriété

pour les données RSS.

Instructions sur l'application étendue des programmes système Python

Introduction illustrée aux fonctions des applications Python

Introduction aux domaines d'application de Python

Utilisation de Python langage de script pour éditeur de programmation

Analyse des principes du programme de développement Python

Pour ceux qui ne sont pas habitués à la technologie de traitement XML, cette méthode peut paraître inhabituelle, mais c'est en effet un moyen très efficace de comprendre exactement ce qu'il y a dans le fichier RSS d'origine. Par conséquent, un élément de titre RSS 0.91 est considéré comme différent d'un élément RSS 1.0 du même nom.

L'application dispose de suffisamment de données pour ignorer cette différence, si vous le souhaitez, en ignorant la partie espace de noms de chaque tuple mais l'API de base est la même que la syntaxe du fichier RSS d'origine ; est combinée, donc cette information n’est pas perdue.

Dans le code, nous utilisons ces données d'attribut pour regrouper tous les éléments du fil d'actualité à afficher. Notez que nous veillons à ne pas supposer quelles propriétés un élément particulier pourrait avoir. Nous utilisons le formulaire safe comme indiqué dans le code suivant pour récupérer les attributs.

【Recommandations connexes】

1 Tutoriel d'introduction au RSS College

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn