• 20191322《Python程序设计》实验四报告


    20191322 2019-2020-2 《Python程序设计》实验四报告

    课程:《Python程序设计》
    班级: 1913
    姓名: 吴泳淋
    学号:20191322
    实验教师:王志强
    实验日期:2020年5月28日
    必修/选修: 公选课

    1.实验内容

    在本次实验中,我做的是一个翻译器。效果如下:

    2. 实验过程及结果


    爬虫篇

    首先打开百度翻译的网站 https://fanyi.baidu.com/
    输入内容,按f12分析请求过程

    找到preview,发现图中所示的请求为我们想要的结果
    然后开始编写爬虫代码

    写data的时候通过帮助文档发下需要使用parse进行转码

    发现打印出来的内容偏乱,于是用json处理一下(JSON是一种轻量级的数据交换格式)

    处理之后得到的数据是字典,我们就按照字典的索引写法找到我们要的数据就行


    Tkinter篇

    代码如下:

    root = Tk()
    root.title("吴秀秀翻译器")#命名
    #root.geometry("500x150")
    Label(root,text = '原文:').grid(row = 0)#创建一个标签
    e1 = Entry(root)#创建输入栏
    e1.grid(row = 0,column = 1,padx = 10,pady = 5)#输入栏的各种参数
    Button(root,text = "翻译",width = 10,command = show).grid(row = 3,column = 0,sticky = W,padx = 10 ,pady = 5)#创建翻译按钮
    Button(root,text= '退出',width = 10,command=root.quit()).grid(row = 3,column = 1,sticky = E,padx = 10,pady = 5)#创建退出按钮
    mainloop() #完成
    

    合并

    发现Button组件有一个command选项,用于指定一个函数或方法,当用户点击按钮时,Tkinter就会自动地去调用这个函数或方法。于是想到将爬虫代码封装到一个函数里面,用Button组件去调用它。

    完整代码 翻译器(爬虫+Tkinter)

    3. 实验过程中遇到的问题和解决过程

    • 问题1:一开始使用地是爬取有道翻译的网站,但是一直报错,报错截图如下:

    • 问题1解决方案:通过百度发现,有道翻译有反爬虫机制,不同的翻译原文会对应不同的salt和sigh,为js加密,太过麻烦,于是多经比较后选择了百度翻译

    • 问题2:改为百度翻译后代码还是报错,截图如下:

    • 问题2解决方案:刚开始以为是因为图形界面太小,然后翻译的译文又太多超范围了,于是百度发现了geometry组件可以定义方框大小

      但是还是报错,然后尝试直接打印爬虫的结果,依然报错,且报错原因一样。于是回头重审代码,发现封装爬虫代码的时候有几行代码因为缩进原因没有封装进去,修改之后问题解决

    课程总结

    刚开始上课的时候其实我是对王老师有些不满的,因为感觉王老师上课就是发几个视频给我们看,然后布置下任务给我们,根本没有给我们教些什么(也可能是因为还不想远离寒假)。但是慢慢地我发现我错了,王老师刚开始之所以会只给我们发视频,是因为刚开始的内容是最最基本的,看视频教学恰恰能打下夯实的基础。后面我发现王老师会为了备课,自己在网上查资料,敲一个下午的代码;会为了解决学生的问题,在网上到处查找资料;会因为有的内容没有上完而给自己加班给我们上完。我真的很感谢王老师。

    在本学期的《Python程序设计》课上,我认为我最大的收获是学会了如何综合利用手上的资料。我自己有两本python方面的书,云班课上有老师发的教学视频,网络上有一大堆python学习资料。刚开始我是不知道怎么利用手上的资料的,往往是只看老师发的视频,把自己的书都扔在角落吃灰。可是后面的内容越来越深奥,老师发的视频也越来越不够用的时候,我发现百度是个好东西,渐渐地我发现百度上地资料都很杂,不是很全面的时候,我又发现书籍是个好东西。就这样经过一学期的课程,我学会了如何综合利用手上的资源。

    我给这门课程的建议就是,希望老师能像后半学期这样,继续把当天的任务设定为当天完成。从我前半学期的经历来看,我经常会因为周末有python作业而耍不好,而且几天没碰python周末的时候又要重新去看视频,并且经常会忘了交作业。学习效率十分低下,往往一个下午就会被浪费掉,所以我希望王老师能继续将当天的任务设定为当天完成

    参考资料

    • 《零基础入门学习Python》
  • 相关阅读:
    [Nowcoder]2020牛客寒假算法基础集训营3
    [Nowcoder]2020牛客寒假算法基础集训营2
    [Nowcoder]2020牛客寒假算法基础集训营1
    [备份]算法模板大集锦
    [东西]neverOpen
    [随笔]ICPC2.0
    [知识点]C++中STL容器之set
    [知识点]数列分块入门1-9
    [知识点]C++中STL容器之vector
    [知识点] 1.3.1 STL简介
  • 原文地址:https://www.cnblogs.com/BillGreen/p/12984118.html
Copyright © 2020-2023  润新知