08.01Уникализация шаблонов
Уникализация происходит за счет генерации уникальных стилей для дивов шаблона. Полезность такого метода сомнительна, но всё же. Основываясь на этом примере, можно придумать другие методы уникализации.
#coding:utf-8 #Author: Rushter #Site: http://rushter.com from BeautifulSoup import BeautifulSoup import random # Функция генерации стиля def getstyle(): # Всевозможные параметры css params = ["font-size: %spx;"%(random.randint(10,11)), "color:#%s;"%(random.randint(0, 16777215)), "clear:%s;"%(random.choice(["none","left","right","both","inherit"])), "float:%s;"%(random.choice(["none","left","right","both","inherit"])), "font-weight:%s;"%(random.choice(["bold","bolder","lighter","normal","100","200","300","400"])) ] # Перемешиваем random.shuffle(params) # Возращаем случаное кол-во параметров стиля return "".join(params[0:random.randint(0,len(params)-1)]) # Открываем шаблон templ = open("html.html").read().decode("utf-8","ignore") soup = BeautifulSoup(templ) # Находим все дивы в шаблое div_list = soup("div") # Проходим все дивы for div in div_list: # Если у текущего дива нет параметра style, то идём дальше if not div.has_key("style"): # Случайно выбираем генерировать или нет стиль для дива if random.randint(0,1)==0: # Генерируем стиль div["style"]=getstyle() # Приводим код шаблона к красивому виду templ = soup.prettify() # Сохраняем шаблон open("out.html",'w').write(templ)
-
http://blozix.kiev.ua/ DeXtR

