Puteţi vizualiza întregul cod aici: https://pastebin.com/PLEUKv98
Instalaţi Python.
Se da tagul html:
<meta name="description" content="Ma numesc Neculai Fantanaru, locuiesc in Iasi.">
Si avem urmatoarea sectiune de text:
<!-- ARTICOL START --> <p class="text_obisnuit2">Scopul lorem ipsum este de a crea un bloc de text cu aspect natural (propoziție, paragraf, pagină) care nu distrage atenția de la aspect. O practică nu lipsită de controverse, aranjarea paginilor cu text de umplere fără sens poate fi foarte utilă atunci când accentul este menit să fie pe design, nu pe conținut. Pasajul a cunoscut o creștere a popularității în anii 1960, când Letraset l-a folosit pe foile lor de transfer uscat și, din nou, în anii 90, când editorii desktop au inclus textul cu software-ul lor. Astăzi se vede peste tot pe web; pe șabloane, site-uri web și modele stoc. Utilizați generatorul nostru pentru a obține propriul dvs. sau citiți mai departe pentru istoria autorizată a lui lorem ipsum.</p> <!-- ARTICOL FINAL -->
OUTPUT: După rularea codului, python va prelua primele 80 de cuvinte din secțiunea de text și le va adăuga la tagul html "meta description":
<meta name="description" content="Ma numesc Neculai Fantanaru, locuiesc in Iasi. Scopul lorem ipsum este de a crea un bloc de text cu aspect natural (propoziție, paragraf, pagină) care nu distrage atenția de la aspect. O practică nu lipsită de controverse, aranjarea paginilor cu text de umplere fără sens poate fi foarte utilă atunci când accentul este menit să fie pe design, nu pe conținut. Pasajul a cunoscut o creștere a popularității în anii 1960, când Letraset l-a folosit pe foile lor de transfer uscat și, din">
De asemenea, am facut si un dictionar care transforma automat diacriticele, atunci cand se face trecerea cuvintelor dintr-o parte in alta:
import requests import re import os cale_folder_html = r"d:\\Folder1\\fisiere_html_modificate" extension_file = ".html" def read_text_from_file(file_path): """ Aceasta functie returneaza continutul unui fisier. file_path: calea catre fisierul din care vrei sa citesti """ with open(file_path, encoding='utf8') as f: text = f.read() return text def write_to_file(text, file_path): """ Aceasta functie scrie un text intr-un fisier. text: textul pe care vrei sa il scrii file_path: calea catre fisierul in care vrei sa scrii """ with open(file_path, 'wb') as f: f.write(text.encode('utf8', 'ignore')) print('Going through folder') amount = 1 # prelucrare continut dict_simboluri = dict() dict_simboluri['ă'] = 'a' dict_simboluri['â'] = 'a' dict_simboluri['ã'] = 'a' dict_simboluri['â'] = 'a' dict_simboluri['ă'] = 'a' dict_simboluri['â'] = 'a' dict_simboluri['?'] = 'a' dict_simboluri['?'] = 'a' dict_simboluri['â'] = 'a' dict_simboluri['a'] = 'a' dict_simboluri['ã'] = 'a' dict_simboluri['à'] = 'a' dict_simboluri['á'] = 'a' dict_simboluri['å'] = 'a' dict_simboluri['ä'] = 'a' dict_simboluri['â'] = 'a' dict_simboluri['…'] = '' dict_simboluri['…'] = '' dict_simboluri['\"'] = '' dict_simboluri['–'] = '- ' dict_simboluri[' '] = ' ' dict_simboluri[' '] = ' ' dict_simboluri[' '] = ' ' dict_simboluri['''] = '\'' dict_simboluri['"'] = '\'' dict_simboluri['"'] = '\'' dict_simboluri['['] = '' dict_simboluri[']'] = '' dict_simboluri['/'] = '' dict_simboluri['}'] = '' dict_simboluri['{'] = '' dict_simboluri['î'] = 'i' dict_simboluri['Î'] = 'i' dict_simboluri['î'] = 'i' dict_simboluri['î'] = 'i' dict_simboluri['Î'] = 'i' dict_simboluri['Î'] = 'i' dict_simboluri['î'] = 'i' dict_simboluri['Î'] = 'i' dict_simboluri['?'] = 'i' dict_simboluri['î'] = 'i' dict_simboluri['Î'] = 'I' dict_simboluri['I'] = 'I' dict_simboluri['Ĩ'] = 'I' dict_simboluri['Î'] = 'I' dict_simboluri['Î'] = 'I' dict_simboluri['i'] = 'i' dict_simboluri['i'] = 'i' dict_simboluri['í'] = 'i' dict_simboluri['!'] = ' ' dict_simboluri['('] = '-' dict_simboluri[')'] = ' ' dict_simboluri[' '] = ' ' dict_simboluri[',,'] = ' ' dict_simboluri['I'] = 'I' dict_simboluri['é'] = 'e' dict_simboluri['ê'] = 'e' dict_simboluri['é'] = 'e' dict_simboluri['a©'] = 'e' dict_simboluri['è'] = 'e' dict_simboluri['ë'] = 'e' dict_simboluri['Ë'] = 'e' dict_simboluri['ș'] = 's' dict_simboluri['Ș'] = 's' dict_simboluri['Ş'] = 's' dict_simboluri['ș'] = 's' dict_simboluri['ş'] = 's' dict_simboluri['s'] = 's' dict_simboluri['?'] = 's' dict_simboluri['S'] = 'S' dict_simboluri['?'] = 'S' dict_simboluri['?'] = 'S' dict_simboluri['š'] = 's' dict_simboluri['s'] = 's' dict_simboluri['?'] = 's' dict_simboluri['?'] = 's' dict_simboluri['"'] = '' dict_simboluri['’'] = '' dict_simboluri['”'] = '' dict_simboluri['’'] = '' dict_simboluri['„'] = '' dict_simboluri['“'] = '' dict_simboluri['„'] = '' dict_simboluri['“'] = '' dict_simboluri['”'] = '' dict_simboluri['<'] = '' dict_simboluri['<'] = '' dict_simboluri['«'] = '' dict_simboluri['»'] = '' dict_simboluri['"'] = '' dict_simboluri['"'] = '' dict_simboluri['"'] = '' dict_simboluri[':'] = '' dict_simboluri['&'] = '' dict_simboluri['ț'] = 't' dict_simboluri['ţ'] = 't' dict_simboluri['Ţ'] = 't' dict_simboluri['ț'] = 't' dict_simboluri['t'] = 't' dict_simboluri['?'] = 't' dict_simboluri['T'] = 'T' dict_simboluri['?'] = 'T' dict_simboluri['t'] = 't' dict_simboluri['?'] = 't' for filename in os.listdir(cale_folder_html): if filename == 'y_key_e479323ce281e459.html' or filename == 'directory.html': continue if filename.endswith('.html'): cale_fisier_html = cale_folder_html + "\\" + filename html_text = read_text_from_file(cale_fisier_html) articol_pattern = re.compile('<!-- ARTICOL START -->([\s\S]*?)<!-- ARTICOL FINAL -->[\s\S]*?') articol_text = re.findall(articol_pattern, html_text) if len(articol_text) > 0: articol_text = articol_text[0] meta_description = re.search('<meta name="description".+>', html_text)[0] initial_meta_description = re.search('<meta name="description" content="(.+)".*>', html_text)[1] para_pattern = re.compile('<p.+>(.*?)</p>') para = re.findall(para_pattern, articol_text) if len(para) > 0: lista_cuvinte = list() for txt in para: for simbol in dict_simboluri.keys(): txt = txt.replace(simbol, dict_simboluri[simbol]) lista_cuvinte.extend(re.findall(r'[a-zA-Z\-\']+', txt)) content = " ".join(lista_cuvinte[:80]) new_meta_description = re.sub(r'content=".+"', f'content="{content}"', meta_description) html_text = html_text.replace(meta_description, new_meta_description) print(f'{filename} parsed ({amount})') amount += 1 write_to_file(html_text, cale_fisier_html) else: print("Nu am gasit tag-uri cu text_obisnuit2: ", filename) continue else: print("Nu are ARTICOL START/FINAL: ", filename) continue else: continue
That's all folks.
If you like my code, then make me a favor: translate your website into Romanian, "ro".
Also, you can see other Python Codes: VERSION 2 of this code. Or Version 3 OR Version 4 OR Version 5