• 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 小白工作室

     

     



  • 相关阅读:
    2018年奇虎360春招笔试题--玫瑰花
    MaxPooling的作用
    网易笔试编程题:被3整除
    网易笔试编程题:牛牛找工作
    剑指offer 第十二天
    算法题:合并N个长度为L的有序数组为一个有序数组(JAVA实现)
    十分钟看懂神经网络反向传输算法
    十大经典排序算法最强总结(含JAVA代码实现)
    记服务器中招挖矿病毒排查过程(解决方案篇)
    spring 事件监听同时支持同步事件及异步事件
  • 原文地址:https://www.cnblogs.com/btlord/p/13569805.html
Copyright © 2020-2023  润新知