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

Urugero rwa kode ya Python rusobanura urubuga mu zindi ndimi, hamwe na Google Translate API Urufunguzo rwa API + Cyiza

June 20, 2021, in Python Scripts Examples, by Neculai Fantanaru

Urashobora kureba kode yuzuye hano:HTTPS: // Passatbin .com / vs XL Gutonyanga UCL

ShyiramoPython. Noneho shyiramo amasomero abiri akurikira ukoresheje umusemuzi wihuse (CMD) muri Windows10:

py- m pip install google-cloud-translate
py -m pip install beautifulsoup4

Python izahita ahindura ibikurikira HTML ikurikira:

Urugero Google Translate API Urufunguzo Python Code CutySoup
 name="description" content="Your Text"/>

Nanone, kode ya Python nayo izahita ihindura ibiri muri tagi ikurikira (inyandiko yawe), ariko gusa niba iyi tagi ikozwe nana HTML. Birumvikana, uzakenera gusimbuza ibirambo hamwe na tagi yawe.



 class="den_articol" itemprop="name">Your Text
 class="text_obisnuit">Your Text

class="text_obisnuit2">Your Text

class="text_obisnuit2">Your Text class="text_obisnuit">Your Text class="text_obisnuit">Your Text class="linkMare" href="https://neculaifantanaru.com/rw/">Your Text class="text_obisnuit2>Your Text

text_obisnuit2>Your Text

class="text_obisnuit2>Your Text

Uzakenera dosiye hamwe no kwaguka .json (Nabivuze ibanga.json) ushobora kubona Https://nonsole.coud.google.com/ Kurikiza iyi nyigisho yukuntu wabona Google API urufunguzo.

Gukoporora ibanga.Json dosiye yububiko bumwe nka code hepfoUmuntu. Inshuti

google translate api key python tutorial example code

Kode: Gukoporora no kuyobora kode hepfo muri gahunda iyo ari yo yose yasobanuye(Nkoreshapyscritenter).Ntiwibagirwe guhindura inzira muri "dosiye_from_folder.

from bs4 import BeautifulSoup
from bs4.formatter import HTMLFormatter
import requests
import json
import os
import six
from google.cloud import translate_v2 as translate

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

def translate_text(target, text):
    """Translates text into the target language.

    Target must be an ISO 639-1 language code.
    See https://g.co/cloud/translate/v2/translate-reference#supported_languages
    """

    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "secret.json"

    translate_client = translate.Client()

    if isinstance(text, six.binary_type):
        text = text.decode("utf-8")

    # Text can also be a sequence of strings, in which case this method
    # will return a sequence of results for each text.
    result = translate_client.translate(text, target_language=target)

    return result["translatedText"]

files_from_folder = r"C:\test"
source_language = 'EN'

use_translate_folder = False

destination_language = 'ZH'

extension_file = ".html"

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 = translate_text(destination_language, node.contents[x])
                    node.contents[x].replaceWith(newtext)
                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:
            soup = BeautifulSoup('
' + html.read() + '
'
, 'html.parser') for title in soup.findAll('title'): recursively_translate(title) for meta in soup.findAll('meta', {'name':'description'}): try: newtext = translate_text(destination_language, meta['content']) meta['content'] = newtext except: pass for h1 in soup.findAll('h1', {'itemprop':'name'}, class_='den_articol'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(h1)) < end_comment: recursively_translate(h1) for p in soup.findAll('p', class_='text_obisnuit'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(p)) < end_comment: recursively_translate(p) for p in soup.findAll('p', class_='text_obisnuit2'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(p)) < end_comment: recursively_translate(p) for span in soup.findAll('span', class_='text_obisnuit2'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(span)) < end_comment: recursively_translate(span) for li in soup.findAll('li', class_='text_obisnuit'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(li)) < end_comment: recursively_translate(li) for a in soup.findAll('a', class_='linkMare'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(a)) < end_comment: recursively_translate(a) for h4 in soup.findAll('h4', class_='text_obisnuit2'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(h4)) < end_comment: recursively_translate(h4) for h5 in soup.findAll('h5', class_='text_obisnuit2'): begin_comment = str(soup).index('') end_comment = str(soup).index('') if begin_comment < str(soup).index(str(h5)) < end_comment: recursively_translate(h5) print(f'{filename} translated') soup = soup.encode(formatter=UnsortedAttributes()).decode('utf-8') 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(soup[5:-6]) 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(soup[5:-6]) else: with open(os.path.join(files_from_folder, new_filename), 'w', encoding='utf-8') as html: html.write(soup[5:-6])

That's all folks.

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

Reba kandi kuri iyi code y'ubusobanuro: BeautifulSoup Library cyangwa DEEPL+API Key cyangwaVerisiyo ya 3cyangwaVerisiyo ya 4


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