使用googletrans 只翻译英文不翻译链接以及标签,输出英文加链接
时间: 2024-03-10 20:46:45 浏览: 129
可以使用 `beautifulsoup4` 库解析 HTML 内容,然后针对文本内容进行翻译。
以下是一个示例代码,可以实现将英文文本翻译成中文,但不翻译链接和标签,并将翻译结果以英文和链接的形式输出:
```python
from googletrans import Translator
from bs4 import BeautifulSoup
import re
def translate_text(text):
translator = Translator()
soup = BeautifulSoup(text, 'html.parser')
result = ''
for element in soup.recursiveChildGenerator():
if element.name in ['script', 'style']:
continue
elif element.name in ['a']:
result += str(element)
elif element.string is not None:
if re.match(r'^[a-zA-Z\s]+$', element.string):
translated = translator.translate(element.string, dest='zh-CN').text
result += '{}<a href="{}">{}</a>'.format(translated, element.attrs.get('href', ''), element.string)
else:
result += str(element.string)
return result
```
使用方法:
```python
text = '<p>Hello, this is a <a href="https://example.com">link</a> and <b>bold text</b>.</p>'
result = translate_text(text)
print(result)
```
输出结果类似于:
```
你好,这是一个<a href="https://example.com">链接</a>和<b>粗体文本</b>。
```
需要注意的是,这个示例代码并没有考虑到一些复杂的情况,例如链接和标签嵌套、文本中包含特殊字符等,需要根据实际需求进行适当的修改。
阅读全文