# -*- coding: cp1252 -*- #rss-lukija pythonilla toteutettuna import urllib2 import sys class Rss: def __init__(self): self.otsikko = [] self.artikkeli = [] self.linkki = [] self.teksti = "" self.osoite = "http://www.ampparit.com/xml.php" def hae(self): for rivi in urllib2.urlopen(self.osoite): self.teksti = self.teksti + rivi def otsikot(self): #muodostetaan lähdekoodista lista, jossa erottimena toimii teksti2 = self.teksti.split("<title>") #poistetaan listan ensimmäinen solu, johon kuuluu kaikki merkit ennen ensimmäistä <title> kohtaa del teksti2[0] for i in range(len(teksti2)): vara = teksti2[i] #tallennetaan listan solu string muuttujaan, jotta saadaan käyttöön string muuttujan funktiot loppu = vara.find("<") #nyt otsikko on muotoa: tekstiä, joten etsimme tagin aloitus kohdan self.otsikko.append(vara[:loppu]) #lisätään otsikko josta tagi on suodatettu listaan def artikkelit(self): #muodostetaan lähdekoodista lista, jossa erottimena toimii teksti2 = self.teksti.split("") #poistetaan listan ensimmäinen solu, johon kuuluu kaikki merkit ennen ensimmäistä kohtaa del teksti2[0] for i in range(len(teksti2)): vara = teksti2[i] #tallennetaan listan solu string muuttujaan, jotta saadaan käyttöön string muuttujan funktiot kolmas = vara.find("<") #nyt otsikko on muotoa: tekstiä, joten etsimme tagin aloitus kohdan self.artikkeli.append(vara[:kolmas]) #lisätään otsikko josta tagi on suodatettu listaan def linkit(self): #muodostetaan lähdekoodista lista, jossa erottimena toimii teksti2 = self.teksti.split("") #poistetaan listan ensimmäinen solu, johon kuuluu kaikki merkit ennen ensimmäistä kohtaa del teksti2[0] for i in range(len(teksti2)): vara = teksti2[i] #tallennetaan listan solu string muuttujaan, jotta saadaan käyttöön string muuttujan funktiot kolmas = vara.find("<") #nyt otsikko on muotoa: tekstiä, joten etsimme tagin aloitus kohdan self.linkki.append(vara[:kolmas]) #lisätään otsikko josta tagi on suodatettu listaan def haeOtsikot(self): return self.otsikko def tulostaOtsikot(self): luku = 0 for i in self.otsikko: print str(luku) + ". " + i luku = luku + 1 def haeArtikkeli(self): print self.artikkeli[2] def haeLinkki(self,i): return self.linkki[i] def vaihdaUrl(self, urli): self.osoite = urli print self.osoite rss = Rss() if len(sys.argv) > 1: if sys.argv[1] == "-u": rss.vaihdaUrl(sys.argv[1]) rss.hae() rss.otsikot() rss.artikkelit() rss.linkit() rss.tulostaOtsikot() #switch-case tähän! if len(sys.argv) > 1: if sys.argv[1] == "-u": rss.vaihdaUrl(sys.argv[1]) if sys.argv[1] == "-a": rss.haeArtikkeli()