Úkol: Napište program, který načte nějakou webovou stránku a odstraní z ní tagy (tj. vše, co je uzavřeno mezi > a >). Vyjděte z následujícího kódu, který zajištuje, že v proměnné "html" je stažená celá stránka.
## Vytvoření objektu na stahování z webu (a falšování prohlížeče, muhehe) import urllib.request opener = urllib.request.build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] ## Příprava korektní adresy článku o Emě Destinové (v URL se kóduje jako "Ema%20Destinov%C3%A1") article = 'Ema Destinová' address = 'http://cs.wikipedia.org/w/index.php?title='+urllib.request.quote(article)+'&printable=yes' ## Otevření, načtení, dekódování stránky a její převod na běžný textový řetězec html = str(opener.open(address).read().decode('utf8', 'replace'))
in_tag = False output="" for character in html: if character == "<": in_tag = True if not in_tag: output += character if in_tag and character == ">": in_tag = False #print " "*len(tags)+last_tag print(output)
Objekt je něco v paměti programu, co obsahuje data i funkce. Tzn. data i funkce jsou v objektově orientovaném programování tříděny na základě toho, k čemu logicky patří.
Pozn.: v Pythonu je objekt skoro všechno. http://docs.python.org/tutorial/classes.html