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: Käännä kauniilla ja Deeplilla vain ne HTML-tunnisteet, jotka sisältävät tiettyjä avainsanoja

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

Voit tarkastella koko koodia täältä:Https: // passatin.com / nk nm4di lumi

AsentaaPython. Asenna sitten seuraavat kaksi kirjastoa käyttämällä Command Prompt (CMD) tulkki Windows10: ssa:

py- m pip install pydeepl
py -m pip install beautifulsoup4     

Python kääntää automaattisesti seuraavat HTML-tunnisteet Googletrans-kirjastoon:

Regex & Python: Käännä kaunisSoup ja Deepl vain ne HTML-tunnisteet, jotka sisältävät tiettyjä avainsanoja.
 name="description" content="Your Text"/>
 class="text_obisnuit">Your Text

class="text_obisnuit2">Your Text

HTML tuotti Hilite.ME: n avulla

Koodi: Kopioi ja suorita alla oleva koodi missä tahansa tulkkiohjelmassa(Käytänpyscripter.Älä unohda muuttaa polkua linjalla "files_from_folder".Ja älä unohda muuttaaAPI-koodi.

Löydä täältä luettelo kielistä, jotka voidaan kääntää:Lang.

Google löytää automaattisesti tiedostojen kielen. Sinun tarvitsee vain muuttaa kieltä, jonka haluat kääntää:kohde_language

from bs4 import BeautifulSoup
from bs4.formatter import HTMLFormatter
import requests
import json
import re

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"

use_translate_folder = False

destination_language = 'nl'

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: Käännä kaunisSoup ja Deepl vain ne HTML-tunnisteet, jotka sisältävät tiettyjä avainsanoja.' 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: newtext = requests.post('https://api-free.deepl.com/v2/translate', data={'auth_key':'YOUR-CODE:fx', 'text':node.contents[x], 'target_lang':destination_language }).content node.contents[x].replaceWith(json.loads(newtext)['translations'][0]['text']) except: pass 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') newtext = requests.post('https://api-free.deepl.com/v2/translate', data={'auth_key':'YOUR-CODE:fx', 'text':meta['content'], 'target_lang':destination_language }).content meta['content'] = json.loads(newtext)['translations'][0]['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".

Myös on olemassaVersio 1 (googletrans)tämän koodin.

 


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
Noin | Sivustokartta | Yhteistyökumppanit | Palaute | käyttöehdot | Yksityisyys | RSS-syötteet
© Neculai Fântânaru - All rights reserved