[python] Pomoc s pythonním RE

rajcze rajcze na gmail.com
Sobota Leden 12 23:48:20 CET 2013


Pokud "jen" potrebujes z dokumentu vzit vsecky <script> tagy, vypsat si to
v tom formatu, jak mas v prikladu, a nutne na to chces pouzivat regexpy,
tak idealne takto:

import re
re_scripts = re.compile(r'(<script .*?>)(.*?)</script>')
for results in re_scripts.findall(data):
    print "\n\n---%s\n---%s\n---</script>" % results

Je ale nutny si uvedomit, ze je to docela dost narozny na cistotu vstupu
(predpokladam, ze tim tahas scripty z nejake stazene html stranky) -
napriklad je potreba osetrit mezery uvnitr tagu, case sensitivita (coz lze
jednoduse resit i v regexpu, of course), atp. Takze pokud chces smysluplny
reseni, bylo by lepsi napsat jakej problem skutecne resis ;)

Na pokrocilejsi (vlastne, obecne na libovolny) zpracovani HTML/XML je
smysluplnejsi pouzivat nektery z XML parseru resp. asi BeautifulSoup,
vzhledem k tomu, ze se dokaze (narozdil od "pure" XML parseru) vyporadat i
s nevadlidnim markupem.

-- 
Rules of Optimization:
Rule 1: Don't do it.
Rule 2 (for experts only): Don't do it yet.
------------- dal?í ?ást ---------------
HTML p?íloha byla odstran?na...
URL: <http://www.py.cz/pipermail/python/attachments/20130112/272cffa0/attachment.html>


Další informace o konferenci Python