Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<link title="" type="application/rss+xml" rel="alternate" href="http://habrahabr.ru/rss/.../"/>
использование рсс-ридера вместо написания ненужного кода.
volch@ubuhost:~$ python
Python 2.7.1+ (r271:86832, Apr 11 2011, 18:05:24)
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import feedparser
Traceback (most recent call last):
File "", line 1, in ImportError: No module named feedparser#!/usr/bin/python
#-*- coding:utf-8 -*-
import feedparser
import os
import sys
import datetime
habr = "http://habrahabr.ru/rss"
rss = feedparser.parse(habr)
#print "title: " + rss.feed.title
#print "description: " + rss.feed.description + "\n"
for entry in rss.entries:
newstr = entry.title.split(" / ")
print "Blog: \t" + newstr[0] + "\n" + "Topic: \t" + newstr[1]
# convert the given time format to datetime
posted_datetime = datetime.datetime(
entry['updated_parsed'][0],
entry['updated_parsed'][1],
entry['updated_parsed'][2],
entry['updated_parsed'][3],
entry['updated_parsed'][4],
entry['updated_parsed'][5]
)
posted = posted_datetime.strftime("%d.%m.%Y %H:%M")
print "Date: \t" + posted + "\n"
from feedparser import parse
import shelve
import os
db = shelve.open(os.path.expanduser('~/.habra-notifier.cache'), 'c')
for entry in parse('http://habrahabr.ru/rss').entries:
link = entry.link.encode('utf-8')
if not link in db:
db[link] = 1
os.system('notify-send "%s"' % entry.title.encode('utf-8'))
Оповещение появления нового топика на Хабрахабре с помощью Python