#!/home/tjlahton/public_html/cgi-bin/ties4080/venv/bin/python
# -*- coding: utf-8 -*-
from xml.dom.minidom import parse
import urllib.request, urllib.parse, urllib.error
import sys
print("Content-type: text/plain; charset=UTF-8\n")
try:
doc = parse( urllib.request.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"))
except:
pass
print("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ä.")
for h in h2:
# print h
try:
pass
print(h.firstChild.nodeValue)
except:
pass
except:
for err in sys.exc_info():
print(err)