这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天
- 单词翻译模块采用的是某翻译软件的API,在字节跳动青训营的课程中有学到怎么捕获浏览器的行为,并用python伪装浏览器向服务器发送请求,在这里刚好可以用到这个知识点,具体实现流程如下
- 在浏览器上输入翻译软件的的网址,右击空白部分,点击检查,然后即可进入浏览器的开发人员模式
- 点击"网络"选项卡,这里会显示浏览器与服务器之间所有的通信请求和请求响应结果
- 在单词的搜索框随便输入一个单词,然后点击检索
- 检索结果出现后,会发现开发者工具的“网络”选项卡多出了很多请求,在请求中选出请求翻译单词的那个请求。
- 该请求一般为post请求,根据请求响应的预览信息可以大致判断哪一个请求是目标请求
- 右击那个请求单词详细信息的requests,按照下面的指示复制这条请求对应的curl命令
- 接着打开 "curlconverter.com/" 网址,将复制的 curl 命令粘贴到输入框,输出框即可根据自己的选择输出在目标编程语言的环境下,如何实现这一请求
- 这里我们选择目标编程语言为python,然后复制网站自动生成的python请求代码,将此代码的可变部分作为形参,封装成一个翻译函数
- 此翻译函数的形参我们可以只设置成单词本身,其余参数在函数内部保持默认即可
- 此时,翻译的功能就大致完成了
- 为了满足单词本的使用需求,只能够实现单词的翻译是不够的,还需要将翻译的结果封装成便于存储和解析的格式,这里我们选择将翻译的结果封装成json字符串
- 为了实现单词的读音功能,我们需要重复2-10的操作,操作的目标请求是获取单词发音的请求,同理可以获得单词的发音
- 单词的发音是wav格式的音乐文件,因此需要以二进制的形式保存到服务器磁盘上,同时把读音对应的路径放到13步的那个json字符串中,方便访问和读取
- 单词翻译模块完成