रेगेक्स और पायथन: सुंदरसुप और डीपल के साथ अनुवाद केवल उन HTML टैग जिनमें कुछ कीवर्ड हैं |
| On May 05, 2021, in Leadership and Attitude, by Neculai Fantanaru |
आप यहां पूरा कोड देख सकते हैं:Https: // passatin.com / nk nm4di बर्फ
इंस्टॉलपायथन। फिर Windows10 में कमांड प्रॉम्प्ट (सीएमडी) दुभाषिया का उपयोग करके निम्नलिखित दो पुस्तकालय स्थापित करें:
py- m pip install pydeepl
py -m pip install beautifulsoup4
पायथन स्वचालित रूप से GoogleTrans लाइब्रेरी के साथ निम्नलिखित HTML टैग का अनुवाद करेगा:
रेगेक्स और पायथन: सुंदरसुप और डील के साथ अनुवाद केवल उन HTML टैग जिनमें कुछ कीवर्ड हैं Neculai Fantanaru (एन)
name="description" content="Your Text"/>
class="text_obisnuit">Your Text
class="text_obisnuit2">Your Text
HTML HILITE.ME का उपयोग करके उत्पन्न
कोड: किसी भी दुभाषिया कार्यक्रम में नीचे दिए गए कोड को कॉपी और चलाएं(मैं उपयोग करता हूंPyscrcs।"FILS_FROM_FOLDER" पंक्ति पर पथ को बदलने के लिए मत भूलना।और बदलने के लिए मत भूलनाएपीआई कोड।
Find here the list of languages that can be translated: LANG.
Google स्वचालित रूप से फ़ाइलों की भाषा पाएगा। आपको बस इतना करना है कि उस भाषा को बदलें जिसे आप अनुवाद करना चाहते हैं:गंतव्य_भाषा
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'रेगेक्स और पायथन: सुंदरसुप और डील के साथ अनुवाद केवल उन HTML टैग जिनमें कुछ कीवर्ड हैं Neculai Fantanaru (एन)'
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".
इसके अलावा, एक हैसंस्करण 1 (GoogleTrans के साथ)इस कोड का।