Python爬虫学习第一记 (翻译小助手)

2023-02-16,,,,

 1 # Python爬虫学习第一记 8.24  (代码有点小,请放大看吧)
2
3 #实现有道翻译,模块一: $fanyi.py
4
5 import urllib.request
6 import urllib.parse
7 import json
8
9 # word 是将要传入的翻译的内容
10
11 def fanyi(word):
12 while 1:
13 # 去掉url中的 _o 可以解决反爬虫机制
14 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
15 data={} # 定义一个data字典
16
17 data['i']= word #don't del
18 data['doctype']='json' #don't del
19
20 #data['from']='AUTO'
21 #data['version']='2.1'
22 #data['keyfrom']='fanyi.web'
23 #data['ue']='utf-8'
24 #data['typoResult']='true'
25
26 # 对数据进行编码处理
27 data=urllib.parse.urlencode(data).encode('utf-8')
28
29 # 创建一个res对象,把url和data传进去,并且同时打开这个请求,并且需要注意的使用的是POST请求
30 res = urllib.request.urlopen(url,data)
31 # 进行读取数据并且进行解码操作
32 html=res.read().decode('utf-8')
33 tar=json.loads(html)
34
35 # 返回值为t,也就是翻译之后的内容
36 t=tar['translateResult'][0][0]['tgt']
37 return t
38
39 #初步完成,使用示例:t = fanyi('hello')
                                      ------BTLord 小白工作室

以上是第一个模块,接下来将引用以上的这个模块,利用easygui来创建简单图形用户界面

 

1 # 翻译的小助手  $ 8.27 爬虫(GUI简单界面)


2 import easygui as g 


  3 import sys 

  4

 import fanyi # 添加翻译模块

 while 1:
     # 弹出一个对话编辑框
ret=g.enterbox('请输入您想要翻译的内容:\n (输入为空将退出程序)','欢迎来到BTL小白工作室')
     # 判断用户点击情况,并且执行相应内容 if ret==None:
sys.exit(0) # 判断点 × 和取消 键的情况,如果是,退出程序 t=fanyi.fanyi(ret)
# 弹出一个选择框,返回值为1或0
if g.ccbox(t,choices=("继续翻译","不了/(ㄒoㄒ)/~~")):
t=fanyi.fanyi(ret)
else:
sys.exit(0) # 翻译的小程序到此,告一段落,(为什么是 小 程序呢,因为它只能翻译少许内容,具体多少呢,嘿嘿嘿!)

     这两个文件必须在同一个目录,才可以执行。

附上程序图  :

            

                                                2020-08-27   -BTL 小白工作室

Python爬虫学习第一记 (翻译小助手)的相关教程结束。

《Python爬虫学习第一记 (翻译小助手).doc》

下载本文的Word格式文档,以方便收藏与打印。