#!python# -*- coding: iso-8859-2 -*-## kocio, 4.08.2006, public domain## Konwersja tabeli HTML o dowolnych rozmiarach na tabele z lista adresowaimport sysimport reimport string## Otwieranie pliku wejsciowegotry: infile = open(sys.argv[1])except: ## jeśli brak parametru, to domyslnie "index.html" try: infile = open("index.html","r") except: print "Brak pliku wejsciowego (nawet index.html)!"## Otwieranie pliku wyjsciowegotry: outfile = open(sys.argv[2])except: ## jesli brak parametru, to domyslnie "list.html" outfile = open("list.html","w") ## Wczytujemy zawartosc pliku wejsciowego i sklejamy w jeden wiersz## (inaczej trzeba robic regexpy wieloliniowe)tresc = string.join(infile.read().splitlines())## Wyszukujemy wszystkie elementy "td", czyli komorki tabeli## uwaga: tag otwierajacy <td> moze miec postac z opcjami, czyli <td costam>!## uwaga: .* jest zachlanne, dopiero .*? ogranicza sie tylko do danego polakomorki = re.findall("<td.*?</td>", tresc)## Teraz trzeba zamienic ten dlugi wiersz w dluga kolumne i zapisac jako HTML## naglowek HTMLoutfile.write("<html>" + "\r\n" + "<body>" + "\r\n" + "<table border=1>" + "\r\n")## naglowek tabeli z nazwa kolumnyoutfile.write("<tr><td><b>adres</b></td></tr>" + "\r\n")for komorka in komorki: ## konwersja do stringu i zamkniecie wiersza tabeli, zeby wyszla kolumna komorka_string = "<tr>" + str(komorka) + "</tr>" + "\r\n" ## zapis do pliku kolejnej komorki outfile.write(komorka_string) ## stopka HTMLoutfile.write("</table>" + "\r\n" + "</body>" + "\r\n" + "</html>")## Zamykamy pliki dla porzadkuinfile.closeoutfile.close