zoukankan      html  css  js  c++  java
  • 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 小白工作室

     

     



  • 相关阅读:
    【LeetCode】Validate Binary Search Tree
    【LeetCode】Search in Rotated Sorted Array II(转)
    【LeetCode】Search in Rotated Sorted Array
    【LeetCode】Set Matrix Zeroes
    【LeetCode】Sqrt(x) (转载)
    【LeetCode】Integer to Roman
    贪心算法
    【LeetCode】Best Time to Buy and Sell Stock III
    【LeetCode】Best Time to Buy and Sell Stock II
    CentOS 6 上安装 pip、setuptools
  • 原文地址:https://www.cnblogs.com/btlord/p/13569805.html
Copyright © 2011-2022 走看看