# -*- coding: utf-8 -*-
from __future__ import print_function, unicode_literals
import os
from lxml import etree
FILES_DIR = 'Путь/До/Папки/С/Файлами'
def main():
parser = etree.HTMLParser()
for fname in os.listdir(FILES_DIR):
path = os.path.join(FILES_DIR, fname)
tree = etree.parse(path, parser)
root = tree.getroot()
el = root.find('.//h3[@class="header-text"]')
if el is not None:
header = el.text
if not header:
print(fname, 'Пустой заголовок')
continue
new_fname = header.strip() + '.html'
new_path = os.path.join(FILES_DIR, new_fname)
try:
os.rename(path, new_path)
except Exception as e:
print(fname, 'Ошибка при переименовании')
continue
print(fname, '-->', new_fname)
else:
print(fname, 'Заголовок не найден')
if __name__ == '__main__':
main()
raw_input('Enter для закрытия...'.encode('cp866')) # Да, я использую windows :(