Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Author: Ben Wright
- # Date: 5th August 2010
- # License: MIT
- # Description: A simple rss to twitter rss parser.
- import feedparser
- import twitter
- import sys
- import time
- class RSSParser:
- def __init__(self, feed):
- self.feed = feed
- data = feedparser.parse(self.feed)
- self.posts = [(e.title, e.link) for e in data.entries]
- self.update()
- def posts(self):
- return self.posts
- def new_posts(self):
- return self.new_posts
- def update(self):
- print '[Parsing] ' + self.feed
- data = feedparser.parse(self.feed)
- links = [(e.title, e.link) for e in data.entries]
- self.new_posts = list(set(self.posts)-set(links))+list(set(links)-set(self.posts))
- self.posts = links
- print '[Parsing Done]'
- class TwitterBot:
- def __init__(self, username, password):
- self.api = twitter.Api(username=username, password=password)
- def post(self, message):
- print '[Tweeting] ' + message
- self.api.PostUpdate(message)
- print '[Sleeping] 2 Minutes'
- time.sleep(2*60)
- def main():
- pool = [RSSParser(line[:-1]) for line in open('pool.txt', 'r')]
- twitter_bot = TwitterBot('username', 'password')
- while True:
- for feed in pool:
- feed.update()
- for post in feed.new_posts():
- twitter_bot.post(post[0] + ' ' + post[1])
- print "[Sleeping] 15 Minutes"
- time.sleep(15*60)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement