import os
import re
import unicodedata
import unidecode
def sanitize_filename(filename):
# Remove acentos
filename = ''.join(
c for c in unicodedata.normalize('NFD', filename)
if unicodedata.category(c) != 'Mn'
)
# Converter para minúsculas e substituir espaços por '-'
filename = filename.lower().replace(' ', '-')
return filename
def fix_canonical_tags(directory):
for root, _, files in os.walk(directory):
for file in files:
if file.endswith(".html"):
filepath = os.path.join(root, file)
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
# Expressão para encontrar a tag canonical
pattern = re.compile(r'', re.IGNORECASE)
filename = os.path.basename(file)
new_url = f"https://www.desentupidoraalkatec.com.br/{sanitize_filename(filename)}"
new_canonical = f''
if pattern.search(content):
# Substituir URL canônica existente
new_content = pattern.sub(new_canonical, content)
else:
# Adicionar canonical antes da se não existir
new_content = re.sub(r'()', f' {new_canonical}\n\1', content, flags=re.IGNORECASE)
# Sobrescrever o arquivo apenas se houver mudanças
if new_content != content:
with open(filepath, 'w', encoding='utf-8') as f:
f.write(new_content)
print(f"Corrigido: {filepath}")
# Nome do arquivo modelo
modelo = "desentupidora-londrina.html"
# Verifica se o arquivo modelo existe
if not os.path.exists(modelo):
print(f"Erro: O arquivo '{modelo}' não foi encontrado.")
exit()
# Solicita as cidades ao usuário
cidades = input("Digite as cidades separadas por vírgula: ").strip().split(",")
# Processa as cidades
for cidade in cidades:
cidade_formatada = cidade.strip().title() # Capitaliza corretamente
cidade_url = unidecode.unidecode(cidade_formatada).lower().replace(" ", "-") # Remove acentos e formata
nome_arquivo = f"desentupidora-{cidade_url}.html"
with open(modelo, "r", encoding="utf-8") as arquivo:
conteudo = arquivo.read()
# Substitui "Londrina" pelo nome da cidade formatada
conteudo = conteudo.replace("Londrina", cidade_formatada)
# Atualiza a URL canonical corretamente
nova_url = f"https://desentupidoraalkatec.com.br/{nome_arquivo}"
conteudo = conteudo.replace(
'',
f''
)
# Cria o novo arquivo
with open(os.path.join("C:\\Users\\lucas\\Downloads\\titealkateccorreção", nome_arquivo), "w", encoding="utf-8") as novo_arquivo:
novo_arquivo.write(conteudo)
print(f"Arquivo '{nome_arquivo}' criado com sucesso.")
print("Processo concluído!")
# Defina o diretório onde estão os arquivos HTML
project_directory = r"C:\Users\lucas\Downloads\titealkateccorreção"
fix_canonical_tags(project_directory)