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

 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

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

 

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

附上程序图  :

 

            

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

 

 



posted @ 2020-08-27 10:08  BTLord小白工作室  阅读(113)  评论(0编辑  收藏  举报