Le blog de Genma
Vous êtes ici : Accueil » Veille Technologique » Rss2twitt.py - Petit script python

Rss2twitt.py - Petit script python

D 30 juin 2016     H 09:00     A Genma     C 1 messages   Logo Tipee

TAGS : Planet Libre Python

J’utilise encore le système de Twitterfeed qui permet de faire des twitt automatisés. On indique un fils RSS, une heure, une fréquence et je peux ainsi envoyer un message sur twitter avec un message personnalisé dès qu’un nouveau billet est publié sur le blog. Mais je me suis dis que vu que j’ai mon serveur perso, je dois pouvoir faire ça moi-même. L’occasion pour moi de me remettre au Python.

Voici donc un petit bout de code sans prétention qui fait la même chose. Je ne détaille pas, on trouve facilement comment avoir les clefs pour l’API Twitter. J’utilise le module twython pour me connecter à l’API Twitter et le module Feedparser pour parser le flux RSS. Je partage ça là, si peut être utile à d’autres.

#!/usr/bin/env python
# coding: utf-8
from twython import Twython
import feedparser
import requests
import json

#---------------------------------------"
# Recuperation du RSS, on parse pour ne récupérer 
# que le dernier article (titre et url)
#---------------------------------------"
blog_rss = ".//spip.php?page=backend"
feeds = feedparser.parse(blog_rss)
syndication_number = 1
urlDernierBillet = ""
articleTitle= " "
for i in range(0, syndication_number):
	#print "%s %s %s" % ("A lire" , feeds.entries[i]['title'], feeds.entries[i]['link'])
	urlDernierBillet = feeds.entries[i]['link']
	articleTitle = feeds.entries[i]['title']

#---------------------------------------"
# Appel de l'API python pour avoir un twitt
#---------------------------------------"
CONSUMER_KEY = 'XXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXX'
ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXXX'
ACCESS_SECRET = 'XXXXXXXXXXXXXXXXXXXX'

api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
api.update_status(status='A lire sur le blog '+ articleTitle + ' ' + urlDernierBillet)

1 Messages

  • Hello,

    Un range(0, 1) quoi qu’il arrive ça retourne 0, donc pourquoi faire un range ?

    Python 2.7.12rc1 (default, Jun 13 2016, 09:20:59) 
    [GCC 5.4.0 20160609] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> range(0,1)
    [0]
    >>> range(0,3)
    [0, 1, 2]
    >>> 

    Je vois pas pourquoi tu importes requests et json vu que tu n’utilises aucune fonction de ces bibliothèques.

    Ton script devrai plutôt ressembler à :

    #!/usr/bin/env python
    # coding: utf-8
    from twython import Twython
    import feedparser
    
    #---------------------------------------"
    # Recuperation du RSS, on parse pour ne récupérer
    # que le dernier article (titre et url)
    #---------------------------------------"
    blog_rss = ".//spip.php?page=backend"
    feeds = feedparser.parse(blog_rss)
    
    urlDernierBillet = feeds.entries[0]['link']
    articleTitle = feeds.entries[0]['title']
    
    #---------------------------------------"
    # Appel de l'API python pour avoir un twitt
    #---------------------------------------"
    CONSUMER_KEY = 'XXXXXXXXXX'
    CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXX'
    ACCESS_KEY = 'XXXXXXXXXXXXXXXXXXXX'
    ACCESS_SECRET = 'XXXXXXXXXXXXXXXXXXXX'
    
    api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
    api.update_status(status='A lire sur le blog '+ articleTitle + ' ' + urlDernierBillet)