Seminář programování v Pythonu na PORGu - lekce 6


Úkol na otvírání a filtrování webové stránky (DOPLNĚNO)

Ú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)

Objekty a třídy

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


Zpět na obsah | Poslední úprava: 2011-10-24