Advertisement
nicuf

Convert html tags from website to txt and than merge txt

Feb 28th, 2024
761
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.29 KB | None | 0 0
  1. import os
  2. import re
  3. import html
  4.  
  5. def extrage_text_html(director_sursa, director_destinatie, fisier_final):
  6.     if not os.path.exists(director_destinatie):
  7.         os.makedirs(director_destinatie)
  8.  
  9.     for fisier in os.listdir(director_sursa):
  10.         if fisier.endswith(".html"):
  11.             cale_fisier = os.path.join(director_sursa, fisier)
  12.             print(f"Procesez fisierul: {fisier}")
  13.             with open(cale_fisier, 'r', encoding='utf-8') as f:
  14.                 continut = f.read()
  15.  
  16.             # Decodifică entitățile HTML
  17.             continut = html.unescape(continut)
  18.  
  19.             # Extrage textul din h1 folosind expresii regulate
  20.             h1_match = re.search(r'<h1 class="custom-h1" itemprop="name">(.*?)</h1>', continut)
  21.             h1_text = h1_match.group(1) if h1_match else 'Titlu lipsă'
  22.  
  23.             # Extrage textul din secțiunea articol
  24.             articol_match = re.search(r'<!-- ARTICOL START -->([\s\S]*?)<!-- ARTICOL FINAL -->', continut)
  25.             articol_text = articol_match.group(1) if articol_match else 'Conținut articol lipsă'
  26.             articol_text = re.sub(r'<[^>]+>', '', articol_text)  # Elimină toate tagurile HTML
  27.  
  28.             continut_final = f"{h1_text}\n\n{articol_text}"
  29.  
  30.             nume_fisier_destinatie = os.path.splitext(fisier)[0] + '.txt'
  31.             with open(os.path.join(director_destinatie, nume_fisier_destinatie), 'w', encoding='utf-8') as f_dest:
  32.                 f_dest.write(continut_final)
  33.             print(f"Fisierul {fisier} a fost procesat si salvat ca {nume_fisier_destinatie}.")
  34.  
  35.     # Unește toate fișierele txt
  36.     print("Unesc toate fișierele txt într-un singur fișier...")
  37.     with open(os.path.join(director_destinatie, fisier_final), 'w', encoding='utf-8') as f_final:
  38.         for fisier in sorted(os.listdir(director_destinatie)):
  39.             if fisier.endswith(".txt"):
  40.                 with open(os.path.join(director_destinatie, fisier), 'r', encoding='utf-8') as f:
  41.                     f_final.write(f.read() + '\n\n')
  42.     print(f"Conversia tuturor fișierelor în {fisier_final} a fost finalizată cu succes.")
  43.  
  44. # Apelează funcția cu calea către directorul sursă și destinatie
  45. extrage_text_html('e:\\Carte\\BB\\17 - Site Leadership\\Principal 2022\\ro\\', 'D:\\Test-Fisier', 'fisier_final.txt')
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement