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

     

     



  • 相关阅读:
    指针和数组的关系
    深入学习数组
    const关键字与指针
    野指针是什么
    指针带来的一些符号的理解
    指针的本质
    内存管理之堆
    内存管理之栈
    元类
    断点调式和面向对象进阶
  • 原文地址:https://www.cnblogs.com/btlord/p/13569805.html
Copyright © 2011-2022 走看看