老师给出了一个小任务,接着之前那篇文章,在读取一个存放地名的pkl文件之后,将地名进行翻译。因为第一接触这类任务,选择调用以下百度的api翻译接口,然后进行翻译。
百度翻译开放平台 (baidu.com)
点进去链接,然后在首页进行登陆注册即可使用。
点进右上角管理控制台,会出现你的个人注册信息,我在这里选择注册是个人用户。
进行注册然后再填写认证即可。
再总览里可以升级服务,标准版和高级版都是免费的,只不过是每个月的免费使用额度不同,访问限制次数不同。
在开发者信息中可以查看个人的id和使用密钥。
注册完成之后,在上方的栏目中找到文档与支持,查看开发者文档,里面有详细的使用方法。主要包含了一些使用的注意事项,支持的语言有哪些等等,建议详细阅读这个开发者文档描写的很详细。
向下翻,找到各类语言demo。然后下载python版本的demo,里面就是官方对调用API接口的代码。根据我的任务要求,对代码做了一些修改,仅供大家参考。
这是针对调用API接口部分代码,主要参数可以通过阅读官方的开发者文档就可以搞明白。主要是request库的post方法的一个调用。request主要有几个方法,一个是request.get()和request.post(),两者的区别就是get方法是向服务器请求数据,post则是想服务器发送请求然后向服务器传递数据。具体的方法讲解可以看着两位的,讲的很好。
get方法:python的request库详细讲解、七个方法、举例子爬取_python request_Yicsr的博客-CSDN博客
post方法:
python爬虫之requests库post请求_requests.post_naer_chongya的博客-CSDN博客
经过文件的读取,我们发现pkl文件内部的数据形式主要是:
我们翻译仅需要地名也就是name下的数据,所以一会再输出数据时仅输出name下的数据即可,然后再去翻译即可。
这里我们仅让name下的数据输出,翻译的也是name下的数据。这里在循环内设置了休眠一秒,因为高级版的限制是一面访问不超过一次,我么你就设定访问一次休眠一秒在访问下一次。
翻译部分结果如下图:
但是翻译的效果并不理想,因为文件中包含了较多的一些村落、乡镇级别的名字,无法识别出来,下一步打算调用一些其他的翻译API和大模型的API再试试效果如何。