[Tutor PyCZ] Html

Pavel Kosina geon na post.cz
Úterý Říjen 3 14:58:36 CEST 2006


Marek napsal(a):
> Zdravim,asi to bude dost trapna otazka, ale prece-mam stranku, kde je textovy 
> pol a tlacitko odeslani(treba jmena a heslo a odeslat) a chtel bych, aby mi 
> to doplnilo ty pole. zkratka prihlaseni treba na mail pres python(potom treba 
> i neco vic). Zkousel jsem neco z prikladu na python.org ,ale moje anglictina 
> a znalosti na tohle tezce nestaci. Diky za cokoli
>   
Taky možná budu trapný - začnu hodně od začátku, kdyžtak to přeskoč ;-)

Když něco napíšeš do pole a zmáčkneš tlačítko, tak se to na server může 
předat dvěma způsoby - POST a GET. To je důležité zjistit, jak se zrovna 
tvoje tlačíko chová. Já používám 2 způsoby:
1/ FF + WebDeveloper - Forms -Display Form details
2/ něco do pole napíši, odliknu, a když můj dotaz vidím v adrese url, 
tak je to GET, jinak je "schovaný" a jë to POST

Asi používáš modul urllib. Je důležité si uvědomit, že budeš volat 
scriptem tu stránku, která se ti objeví *po* stisku tlačítka, ne tu, kde 
zadáváš do vyhledávacího pole. Každý způsob (GET nebo POST) má 
specifické použití funkcí v urllib, ale to je vidět pěkně v Helpu v 
Příkladech.

Je třeba pečlivě odečíst všechny parametry, které se předávají. U GET to 
můžeš zjistit z adresní řádky, u POST pak pomocí WebDeveloper.

Malá ukázka:

import urllib, os
params = urllib.urlencode({'query': 'python'})
url= "http://www.abclinuxu.cz/Search?%s" % params
print url
f = urllib.urlopen(url)

html=file("html.html","w")
html.write(f.read())
html.close()
os.startfile("html.html")

P.S. Mě osobně by zajímalo, jak v tomto příkladě dosáhnout, aby se 
stáhlo i CSS a stránka se zobrazila jak má....., pokud by někdo věděl. 
Jinak ale to snad není potřeba, pokud ti jde jen o data .....

Kdyžtak se ptej dál, pokud to nepůjde ....

-- 
geon
Pavel Kosina



Další informace o konferenci Tutor