Advertisement
nicuf

Check if I have duplicates in the <title> or <description> tag

Apr 18th, 2024
606
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. import os
  2. import re
  3. from collections import defaultdict
  4.  
  5. # Calea către directorul cu fișierele HTML
  6. directory_path = r'e:\Carte\BB\17 - Site Leadership\Principal\ro'
  7.  
  8. # Dicționare pentru a ține evidența titlurilor și descrierilor și fișierelor corespunzătoare
  9. titles_dict = defaultdict(list)
  10. descriptions_dict = defaultdict(list)
  11.  
  12. # Parcurgem fiecare fișier în directorul specificat
  13. for filename in os.listdir(directory_path):
  14.     if filename.endswith(".html"):  # Verificăm dacă fișierul este un HTML
  15.         filepath = os.path.join(directory_path, filename)
  16.         print(f"Procesez fișierul: {filename}")  # Afișăm fișierul curent procesat
  17.         try:
  18.             with open(filepath, 'r', encoding='utf-8', errors='replace') as file:
  19.                 content = file.read()
  20.  
  21.                 # Căutăm titlul în conținutul fișierului
  22.                 title_match = re.search(r'<title>(.*?)</title>', content)
  23.                 if title_match:
  24.                     title = title_match.group(1)
  25.                     titles_dict[title].append(filename)
  26.  
  27.                 # Căutăm descrierea în conținutul fișierului
  28.                 description_match = re.search(r'<meta name="description" content="(.*?)">', content)
  29.                 if description_match:
  30.                     description = description_match.group(1)
  31.                     descriptions_dict[description].append(filename)
  32.  
  33.         except UnicodeDecodeError:
  34.             print(f"Nu am putut decoda fișierul {filename} folosind UTF-8, chiar și cu errors='replace'.")
  35.  
  36. # Verificăm dacă există titluri duplicate în mai multe fișiere
  37. print("Dubluri pentru titluri:")
  38. for title, files in titles_dict.items():
  39.     if len(files) > 1:
  40.         print(f"Titlul '{title}' apare în următoarele fișiere:")
  41.         for index, file in enumerate(files, start=1):
  42.             print(f"{index}. {file}")
  43.  
  44. print("\nDubluri pentru descrieri:")
  45. # Verificăm dacă există descrieri duplicate în mai multe fișiere
  46. for description, files in descriptions_dict.items():
  47.     if len(files) > 1:
  48.         print(f"\nDescrierea '{description}' apare în următoarele fișiere:")
  49.         for index, file in enumerate(files, start=1):
  50.             print(f"{index}. {file}")
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement