RECURRENT DONATION
Donate monthly to support
the NeculaiFantanaru.com project
ئوخشاش كىتابتىكى بازاردىكى باشقىلارغا سېلىشتۇرغاندا بۇ كىتابنىڭ ماھىيەتلىك ئالاھىدىلىكى شۇكى ، ئۇ بىر رەھبەرنىڭ كۆڭۈلدىكىدەك قابىلىيىتىنى مىساللار ئارقىلىق تەسۋىرلەيدۇ. مەن ئەزەلدىن ياخشى رەھبەرگە ئايلىنىشنىڭ ئاسان ئىكەنلىكىنى ئېيتمىدىم ، ئەمما كىشىلەر خالىسا...
مەن بۇ كىتابنى ئاددىيغىنە ئۇسۇلدا رەھبەرلىك بىلەن شەخسىي تەرەققىياتقا بىرلەشتۈرگەن بۇ كىتابنى يازدىم ، خۇددى تېپىشماققا ئوخشاش ، ئومۇمىي ئوبرازنى قايتا ھاسىل قىلىش ئۈچۈن سىز بېرىلگەن بارلىق پارچىلارنى ماسلاشتۇرۇشىڭىز كېرەك.
بۇ كىتابنىڭ مەقسىتى سىزنى كونكرېت مىساللار ئارقىلىق ئۇچۇر بىلەن تەمىنلەش ۋە باشقىلارغا نەرسىلەرنى سىزگە ئوخشاش نۇقتىدىن كۆرۈش ئىقتىدارىغا قانداق ئېرىشىشنى كۆرسىتىش.
بۇ يەردىكى تولۇق كودنى كۆرەلەيسىز:HTTPS: // Passatbin .com / vs xl تامچىلىغان ucl قاچىلاشPython. ئاندىن Windows10 دىكى بۇيرۇق ئەسكەرتمىسى (CMD) تەرجىمان ئارقىلىق تۆۋەندىكى ئىككى كۈتۈپخانىنى قاچىلاڭ: py- m pip install google-cloud-translate py -m pip install beautifulsoup4 Python ئاپتوماتىك HTML خەت بەلگىلىرىنى ئاپتوماتىك تەرجىمە قىلىدۇ:
ئۇنىڭدىن باشقا, Python كودىمۇ تۆۋەندىكى خەتكۈچلەرنىڭ مەزمۇنىنى (تېكىستىڭىز) نىڭ مەزمۇنىنى (تېكىستىڭىز) نىڭ مەزمۇنىنى ئۆزگەرتىدۇ, ئەمما بۇ خەتكۈچلەر بېكىتىلسەۋە HTML تەكشۈرۈشى. ئەلۋەتتە, بۇ بەلگىلەرنى ئۆزىڭىزنىڭ خەتكۈچلىرى بىلەن ئالماشتۇرۇشىڭىز كېرەك.
كېڭەيتىش بىلەن ھۆججەتكە ئېھتىياجلىق بولىسىز .Json (مەن ئۇنىڭغا ئۆزگەردىم secible.json) سىز نېمىگە ئېرىشەلەيدىغىنىڭىز Https://console.coud.google.com/coogle.com/ بۇ دەرسلىككە قانداق بارىدىغانلىقىغا ئەگىشىڭ Google API ئاچقۇچى. Perfect.json ھۆججىتىنى تۆۋەندىكى كودقا ئوخشاش ھۆججەتكە كۆچۈرۈڭبىرەيلەننىڭ كودى. دوستلار كود: ھەر قانداق تەرجىمان پروگراممىسىدا تۆۋەندىكى كودنى كۆچۈرۈپ ئىجرا قىلىڭ(مەن ئىشلىتىمەنتوركۆرگۈ).«ھۆججەتلەر_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.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])'+ html.read() + ' That's all folks. If you like my code, then make me a favor: translate your website into Romanian, "ro". بۇ تەرجىمە كودىنىمۇ تەكشۈرۈپ بېقىڭ: BeautifulSoup Library ياكى DEEPL+API Key ياكى3-نەشرىياكى4-نەشرى Latest articles accessed by readers:
Donate via Paypal
RECURRENT DONATIONDonate monthly to support SINGLE DONATIONDonate the desired amount to support Donate by Bank TransferAccount Ron: RO34INGB0000999900448439
Open account at ING Bank
|
||||||||||||
![]() |
||||||||||||