迎战2022 - Python中文翻译《环球时报》整篇文章实战演示,调用有道翻译API接口进行英文转中文翻译实例训练

简介: 迎战2022 - Python中文翻译《环球时报》整篇文章实战演示,调用有道翻译API接口进行英文转中文翻译实例训练

第一章:翻译效果展示

① 翻译文章示例一【得益于中国援助的数字电视,喀麦隆农村社区享受着非洲国家杯】

文章:得益于中国援助的数字电视,喀麦隆农村社区享受着非洲国家杯


158236fd3533402784efdda103b44871.png

33ac4abe298c4131a5774599985c4635.png


翻译后的效果:


103a80cf6ba143bb98cad60b4e39176e.png

② 翻译文章示例二【有关中国传统文化的节目深受年轻观众的欢迎】

文章:有关中国传统文化的节目深受年轻观众的欢迎

33fe09c3de674357a01c8b83808377a7.png


image.png

翻译后的效果:

image.png

第二章:实现

① 文章结构分析

我们可以看到文章标题在 class 属性为 "article_title"div 元素里。

image.png


正文内容在 class"article_right"div 元素里。


f72d1f130ba840e3a27936173225c427.png

② 文章内容爬取

利用 BeautifulSoup 库对内容进行爬取。

bs4 模块通过 pip install bs4 即可进行安装。

注:文章内注释的翻译部分的代码就是后面要用到的翻译接口。

from urllib.request import urlopen
from bs4 import BeautifulSoup
def article_structure(article_url):
    """
     小蓝枣, 2022.1.24
    【作用】
     对传入网站的文章内容进行爬取
    【参数】
     article_url : 需要进行翻译的外文网址
    【返回】
    """
    url = urlopen(article_url)
    soup = BeautifulSoup(url, 'html.parser')   # parser 解析
    # 读取文章标题
    alert_header = soup.find('div', class_="article_title")
    print("【文章标题】:")
    print(alert_header.string)
    # print("[英文翻译]")
    # print(english_translator(alert_header.string))
    # 读取文章正文
    alert_body = soup.find('div', class_="article_right").contents
    print("\n【文章正文】:")
    for i in alert_body:
        # String类型的,并且不包含空格和回车
        if("String" in str(type(i)) and i[0] != " " and i[0] != "\n"):
            print("---------")
            print(i)
            # print("[英文翻译]")
            # print(english_translator(i))
            print()
article_structure("https://www.globaltimes.cn/page/202201/1246696.shtml")

部分代码解析:

文章正文的部分是没有元素包裹的纯文本,用 "String" in str(type(i)) 就可以筛选出来,还有空格内容和回车内容再过滤一下就好了。

这是爬取后的文章:

079f37fa9d774c83b0be3fd5d7304831.png

③ 有道翻译接口

翻译接口如下,json 参数里面的 from,设置为英文用的是 en

实现过程,还有有道 api 的配置过程可以看这篇文章:

有道翻译 API 接口的服务开通与使用 Python 进行接口调用实例演示,有道智云·AI 开放平台

import requests
import time
import hashlib
import uuid
def english_translator(translate_text):
    """
     小蓝枣, 2022.1.24
    【作用】
     将传入的英文内容翻译为中文
    【参数】
     translate_text : 需要进行翻译的中文
    【返回】
     翻译后的中文
    """
    youdao_url = 'https://openapi.youdao.com/api'   # 有道api地址
    input_text = ""   # 翻译文本生成sign前进行的处理
    # 当文本长度小于等于20时,取文本
    if(len(translate_text) <= 20):
        input_text = translate_text
    # 当文本长度大于20时,进行特殊处理
    elif(len(translate_text) > 20):
        input_text = translate_text[:10] + str(len(translate_text)) + translate_text[-10:]
    app_id = "xxx"   # 应用id
    app_key = "xxx"   # 应用密钥
    time_curtime = int(time.time())   # 秒级时间戳获取
    uu_id = uuid.uuid4()   # 随机生成的uuid数,为了每次都生成一个不重复的数。
    sign = hashlib.sha256((app_id + input_text + str(uu_id) + str(time_curtime) + app_key).encode('utf-8')).hexdigest()   # sign生成
    data = {
        'q':translate_text,
        'from':"en",
        'to':"zh-CHS",
        'appKey':app_id,
        'salt':uu_id,
        'sign':sign,
        'signType':"v3",
        'curtime':time_curtime,
    }
    r = requests.get(youdao_url, params = data).json()   # 获取返回的json()内容
    return r["translation"][0]   # 获取翻译内容

喜欢的点个赞❤吧!


目录
相关文章
|
6天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从基础到实战
【10月更文挑战第36天】本文将带你走进Python的世界,从基础语法出发,逐步深入到实际项目应用。我们将一起探索Python的简洁与强大,通过实例学习如何运用Python解决问题。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供有价值的指导和灵感。让我们一起开启Python编程之旅,用代码书写想法,创造可能。
|
7天前
|
机器学习/深度学习 数据可视化 数据处理
Python数据科学:从基础到实战
Python数据科学:从基础到实战
13 1
|
3天前
|
数据采集 存储 数据处理
探索Python中的异步编程:从基础到实战
【10月更文挑战第39天】在编程世界中,时间就是效率的代名词。Python的异步编程特性,如同给程序穿上了一双翅膀,让它们在执行任务时飞得更高、更快。本文将带你领略Python异步编程的魅力,从理解其背后的原理到掌握实际应用的技巧,我们不仅会讨论理论基础,还会通过实际代码示例,展示如何利用这些知识来提升你的程序性能。准备好让你的Python代码“起飞”了吗?让我们开始这场异步编程的旅程!
10 0
|
7天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
4天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。
|
16天前
|
供应链 数据挖掘 API
电商API接口介绍——sku接口概述
商品SKU(Stock Keeping Unit)接口是电商API接口中的一种,专门用于获取商品的SKU信息。SKU是库存量单位,用于区分同一商品的不同规格、颜色、尺寸等属性。通过商品SKU接口,开发者可以获取商品的SKU列表、SKU属性、库存数量等详细信息。
|
17天前
|
JSON API 数据格式
店铺所有商品列表接口json数据格式示例(API接口)
当然,以下是一个示例的JSON数据格式,用于表示一个店铺所有商品列表的API接口响应
|
27天前
|
编解码 监控 API
直播源怎么调用api接口
调用直播源的API接口涉及开通服务、添加域名、获取API密钥、调用API接口、生成推流和拉流地址、配置直播源、开始直播、监控管理及停止直播等步骤。不同云服务平台的具体操作略有差异,但整体流程简单易懂。
|
7天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
1月前
|
人工智能 自然语言处理 PyTorch
Text2Video Huggingface Pipeline 文生视频接口和文生视频论文API
文生视频是AI领域热点,很多文生视频的大模型都是基于 Huggingface的 diffusers的text to video的pipeline来开发。国内外也有非常多的优秀产品如Runway AI、Pika AI 、可灵King AI、通义千问、智谱的文生视频模型等等。为了方便调用,这篇博客也尝试了使用 PyPI的text2video的python库的Wrapper类进行调用,下面会给大家介绍一下Huggingface Text to Video Pipeline的调用方式以及使用通用的text2video的python库调用方式。