ro  fr  en  es  pt  ar  zh  hi  de  ru
ART 2.0 ART 3.0 ART 4.0 ART 5.0 ART 6.0 Pinterest

Regex & Python: Übersetzen Sie mit schwerSoup und Googletrans nur die HTML-Tags, die bestimmte Keywords enthalten

On May 05, 2021, in Leadership and Attitude, by Neculai Fantanaru

Sie können hier den vollständigen Code ansehen:Https: // passin.com / team ca beauty mm

InstallierenPython. Installieren Sie dann die folgenden zwei Bibliotheken mithilfe der Eingabeaufforderung (CMD) Interpreter in Windows10:

py -m pip install "googletrans"
py -m pip install googletrans==4.0.0rc1
py -m pip install beautifulsoup4
   

Python übersetzt automatisch die folgenden HTML-Tags mit der Googletrans-Bibliothek:

Regex & Python: Übersetzen Sie mit schwerSoup und GoogletRans nur die HTML-Tags, die bestimmte Keywords enthalten  Neculai Fantanaru (de)
 name="description" content="Your Text"/>
 class="text_obisnuit">Your Text

class="text_obisnuit2">Your Text

HTML mit Hilite.ME generiert

Code: Kopieren und führen Sie den untenstehenden Code in einem anderen Interpreter-Programm aus(Ich benutzePyscripter.Vergessen Sie nicht, den Pfad in der Zeile "Files_From_Folder" zu ändern.Finden Sie hier die Liste der Sprachen, die übersetzt werden können:Lang.

Google findet automatisch die Sprache der Dateien. Alles, was Sie tun müssen, ist die Sprache zu ändern, die Sie übersetzen möchten:Destination_Language.

from bs4 import BeautifulSoup
from bs4.formatter import HTMLFormatter
from googletrans import Translator
import requests
import re

translator = Translator()

class UnsortedAttributes(HTMLFormatter):
    def attributes(self, tag):
        for k, v in tag.attrs.items():
            yield k, v

files_from_folder = r"c:\Users\Castel\Videos\Captures"

use_translate_folder = False

destination_language = 'fr'  #translate into french

extension_file = ".html"
pattern1 = r'

.*(( the | you | which | have | had | then | that | must | make | from | else | does | get | will | make | made | yours | can | your | doesn | their | could | from | at | of | my | an | by | with | are | his | him | she | he | it | may | seem | and | for | else | while | which | be | these | let | ask | has | as | won | keep | but | everything | without | thinking | about | just | to | doesn | if | each | try | I'm | them | one | more | much | on | all | even | over | seems ).*){3,}.*

'
pattern2 = r'

.*(( the | you | which | have | had | then | that | must | make | from | else | does | get | will | make | made | yours | can | your | doesn | their | could | from | at | of | my | an | by | with | are | his | him | she | he | it | may | seem | and | for | else | while | which | be | these | let | ask | has | as | won | keep | but | everything | without | thinking | about | just | to | doesn | if | each | try | I'm | them | one | more | much | on | all | even | over | seems ).*){3,}.*

'
pattern3 = r'Regex & Python: Übersetzen Sie mit schwerSoup und GoogletRans nur die HTML-Tags, die bestimmte Keywords enthalten Neculai Fantanaru (de)' pattern4 = r'' patterns = [pattern1, pattern2, pattern3, pattern4] import os directory = os.fsencode(files_from_folder) def recursively_translate(node): for x in range(len(node.contents)): if isinstance(node.contents[x], str): if node.contents[x].strip() != '': try: translation = translator.translate(node.contents[x], dest=destination_language).text node.contents[x].replaceWith(translation) except Exception as e: print(e) elif node.contents[x] != None: recursively_translate(node.contents[x]) for file in os.listdir(directory): filename = os.fsdecode(file) print(filename) if filename == 'y_key_e479323ce281e459.html' or filename == 'TS_4fg4_tr78.html': continue if filename.endswith(extension_file): with open(os.path.join(files_from_folder, filename), encoding='utf-8') as html: page = html.read() updated = False for pattern in patterns: for x in re.finditer(pattern, page): updated = True new = x.group(0) soup = BeautifulSoup(new, 'html.parser') if pattern != pattern4: recursively_translate(soup) else: meta = soup.find('meta') meta['content'] = translator.translate(meta['content'], dest=destination_language).text soup = soup.encode(formatter=UnsortedAttributes()).decode('utf-8') page = page.replace(new, soup) if updated: print(f'{filename} translated') new_filename = f'{filename.split(".")[0]}_{destination_language}.html' if use_translate_folder: try: with open(os.path.join(files_from_folder+r'\translated', new_filename), 'w', encoding='utf-8') as new_html: new_html.write(page) except: os.mkdir(files_from_folder+r'\translated') with open(os.path.join(files_from_folder+r'\translated', new_filename), 'w', encoding='utf-8') as new_html: new_html.write(page) else: with open(os.path.join(files_from_folder, new_filename), 'w', encoding='utf-8') as html: html.write(page)

That's all folks.

If you like my code, then make me a favor: translate your website into Romanian, "ro".

Außerdem gibt es eineVERSION 2von diesem Code.Version 3.oderVersion 4.oderVersion 5.oderVersion 6.

 


Latest articles accessed by readers:

  1. An Eye To See And A Mind To Understand
  2. Turn Towards Me With An Eye Full Of Your Own Gaze
  3. The Snapshot Of Magic In God's Universe
  4. Rhythm Of My Heart

Donate via Paypal

Alternate Text

RECURRENT DONATION

Donate monthly to support
the NeculaiFantanaru.com project

SINGLE DONATION

Donate the desired amount to support
the NeculaiFantanaru.com project

Donate by Bank Transfer

Account Ron: RO34INGB0000999900448439

Open account at ING Bank

Join The Neculai Fantanaru Community



* Note: If you want to read all my articles in real time, please check the romanian version !

decoration
About | Site Map | Partners | Feedback | Terms & Conditions | Privacy | RSS Feeds
© Neculai Fântânaru - All rights reserved