mirror of
https://github.com/adulau/rss-tools.git
synced 2024-11-07 12:06:25 +00:00
55 lines
1.3 KiB
Python
55 lines
1.3 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 +https://github.com/adulau/rss-tools"
|
|
|
|
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:
|
|
|
|
if "modified_parsed" in el:
|
|
eldatetime = datetime.datetime.fromtimestamp(
|
|
time.mktime(el.modified_parsed)
|
|
)
|
|
else:
|
|
eldatetime = datetime.datetime.fromtimestamp(
|
|
time.mktime(el.published_parsed)
|
|
)
|
|
eventdate = eldatetime.isoformat(" ").split(" ", 1)
|
|
edate = eventdate[0].replace("-", "")
|
|
|
|
if edate in counteditem:
|
|
counteditem[edate] = counteditem[edate] + 1
|
|
else:
|
|
counteditem[edate] = 1
|
|
|
|
|
|
for k in list(counteditem.keys()):
|
|
|
|
print(f"{k}\t{counteditem[k]}")
|