#!/usr/bin/python # -*- coding: utf-8 -*- from xml.dom.minidom import parse import urllib import sys print u"Content-type: text/plain; charset=UTF-8\n" try: doc = parse( urllib.urlopen( "https://feeds.yle.fi/uutiset/v1/recent.rss?publisherIds=YLE_UUTISET")) # tämä hakee kaikki link-elementit, mutta ei atom:link-elementtiä links = doc.getElementsByTagName("link") h2 = doc.getElementsByTagNameNS("http://purl.org/rss/1.0/modules/content/", "encoded") # myös tämä toimii, koska käyttänee oletuksena viimeiseksi annettua nimiavaruutta # h2 = doc.getElementsByTagName("content:encoded") # seuraava ei toimi, koska on kyseessä eri nimiavaruus #links = doc.getElementsByTagName("atom:link") # tämä toimii, koska kerrotaan mistä nimiavaruudesta elementtiä haetaan links = doc.getElementsByTagNameNS("http://www.w3.org/2005/Atom", "link") for h in links: # print h try: print "atom-linkki : " + h.getAttribute("href").encode("UTF-8") except: pass print u"Artikkeleiden sisältö html-elementteineen. Artikkelissa olevia elementtejä ei käsitellä dom-nodeina, koska ovat CDATA-lohkon sisällä eli niitä käsitellään vain tekstinä.".encode("UTF-8") for h in h2: # print h try: pass print h.firstChild.nodeValue.encode("UTF-8") except: pass except: for err in sys.exc_info(): print err