Never been to DZone Snippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

About this user

« Newer Snippets
Older Snippets »
Showing 1-2 of 2 total  RSS 

Screen scape heise.de newsticker (german)

#!/usr/bin/env python
# -*- encoding: latin1 -*-

import BeautifulSoup
from PyRSS2Gen import RSSItem, Guid
import ScrapeNFeed
import urllib2
import re

debug = 0

def fetch(url):
    response = urllib2.urlopen(urllib2.Request(url))
    return response.read(),response.info()

class HeiFeed(ScrapeNFeed.ScrapedFeed):    
    def HTML2RSS(self, headers, body):
        items = []
        soup = BeautifulSoup.BeautifulSoup(body)
        for item in soup('a', {'href' : re.compile('^meldung.*')}):
            link = 'http://www.heise.de/newsticker/' + item['href']
            if not self.hasSeen(link):
                title = item.contents[0].strip()
                if debug:
                    print "title: " + title
                    print "link : " + link
                response, headers = fetch(link)
                s = BeautifulSoup.BeautifulSoup(response)
                desc = s.fetch('div',{'class':'meldung_wrapper'})[0].prettify()
                items.append(RSSItem(title=title, description=desc, link=link))
            self.addRSSItems(items)

HeiFeed.load("heise.de newsticker", 'http://www.heise.de/newsticker/',
             "heise.de newsticker", 'heise_rss.xml', 'heise_rss.pickle',
             managingEditor = 'tsch')

Create an RSS feed from an SQL query

#!/usr/bin/env python
# -*- encoding: latin1 -*-

import datetime,PyRSS2Gen,sqlobject
from sqlobject.postgres import builder

con = builder()(user = 'user', passwd = '', host = 'localhost', db='name')

# set db encoding (maybe optional)
con.queryOne("SET client_encoding TO 'latin1'; SELECT 1;")

items = []
for res in con.queryAll("""SELECT title,url,datum,description FROM table ORDER BY datum DESC LIMIT 30"""):
    items.append(
        PyRSS2Gen.RSSItem(
        title = res[0], link = res[1],
        description = """<h2>%s</h2>on %s<br/><p>%s</p>"""%(res[0],res[2],res[]3),
        guid = PyRSS2Gen.Guid(res[1]), pubDate = res[2]))

    # generate rss feed
PyRSS2Gen.RSS2(
    title         = "sql2rss feed",
    link          = "http://localhost/die URL",
    description   = "The latest sql2rss news",
    lastBuildDate = datetime.datetime.now(),
    items         = items).write_xml(open("sql2rss.xml", "w"))
« Newer Snippets
Older Snippets »
Showing 1-2 of 2 total  RSS