mirror of
https://github.com/adulau/rss-tools.git
synced 2024-11-24 11:07:05 +00:00
62 lines
1.2 KiB
Python
62 lines
1.2 KiB
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
#
|
||
|
# a at foo dot be - Alexandre Dulaunoy - http://www.foo.be/cgi-bin/wiki.pl/RssAny
|
||
|
#
|
||
|
# rsscount.py is a simple script to count how many items in a RSS feed per day
|
||
|
#
|
||
|
# The output is epoch + the number of changes separated with a tab.
|
||
|
#
|
||
|
# This is used to build statistic like the wiki creativity index.
|
||
|
#
|
||
|
|
||
|
import feedparser
|
||
|
import sys,os
|
||
|
import time
|
||
|
import datetime
|
||
|
from optparse import OptionParser
|
||
|
|
||
|
|
||
|
feedparser.USER_AGENT = "rsscount.py +http://www.foo.be/"
|
||
|
|
||
|
|
||
|
usage = "usage: %prog url(s)"
|
||
|
parser = OptionParser(usage)
|
||
|
|
||
|
|
||
|
(options, args) = parser.parse_args()
|
||
|
|
||
|
if args is None:
|
||
|
print usage
|
||
|
|
||
|
|
||
|
counteditem = {}
|
||
|
|
||
|
for url in args:
|
||
|
|
||
|
d = feedparser.parse(url)
|
||
|
|
||
|
for el in d.entries:
|
||
|
|
||
|
try:
|
||
|
eldatetime = datetime.datetime.fromtimestamp(time.mktime(el.modified_parsed))
|
||
|
except AttributeError:
|
||
|
# discard RSS without pubDate grrr...
|
||
|
break
|
||
|
|
||
|
|
||
|
eventdate = eldatetime.isoformat(' ').split(' ',1)
|
||
|
edate = eventdate[0].replace("-","")
|
||
|
|
||
|
if counteditem.has_key(edate):
|
||
|
counteditem[edate] = counteditem[edate] + 1
|
||
|
else:
|
||
|
counteditem[edate] = 1
|
||
|
|
||
|
|
||
|
for k in counteditem.keys():
|
||
|
|
||
|
print unicode(k).encode("utf-8")+"\t"+ unicode(counteditem[k]).encode("utf-8")
|
||
|
|
||
|
|