基于Python爬虫的英汉互译项目的设计与实现

来源 :科学与生活 | 被引量 : 0次 | 上传用户:chenhua99
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘语:爬虫是能够自动爬取网页中许多种类数据的一种程序。爬虫一般是利用网页的URL来查找网页内容,然后直接返回给用户所需要的数据,不需要人工操作浏览器获取。爬虫是搜索引擎的一个重要组成部分,帮搜索引擎爬取互联网中的重要数据。爬虫程序核心是对网页进行解析,从中提取出自己想要的信息数据。
  关键词:Python、爬虫、英汉互译
  英汉互译在生活中也是特别重要的一个问题,像是平时大家在学习或者浏览一个英文的网页,会经常遇到不认识的英文单词。有时候一个单词会让我们很难去理解一句话的意思,这时候我就就不得已去查英汉字典,可是查字典又费时费力。在这里就引出了本文的重要例题----英汉互译。我可以在这里运用Python做一个英汉互译的项目来准确实时的对英语进行翻译。或许我们在跟外国人交流的时候还有很多中文单词我们不能翻译成英文。还有我们不仅可以去翻译单个单词,当然也可以翻译一段话。该文章详细介绍了如何运用Python爬虫抓取网站。
  随着互联网时代迅猛发展,网络已成为大数据信息的载体,如何能从网络里有效地提取并利用这些信息就是一个富有挑战的难题。用户网络检索信息通常用的方法便是搜索引擎,但是具有一定的局限性,比如说,不同期望的用户往往具有不同的检索目的和需求,而普遍的搜索引擎它返回的内容往往包含很多用户不需要的东西。若要实时监测网络新闻的发展与变化,则必须使用相关工具,人工的速度太慢,这时候网络爬虫就应运而生了。
  利用C++和Java进行爬虫的程序代码,C++代码复杂性高,而且可读性、可理解性较低,不易上手,一般比较适合资深程序员编 写,来加深对C++语言的理解,不合适初学者学习。Java的可读性适中,可是代码冗余较多,相同的一个爬虫,Java的代码量大概会是Python的两倍。Python作为一种语法简练,其便捷性、简单上手性令众多程序员喜欢,当然Python也跟其他大多数程序语言一样也具有面向对象的编程。本文主要介绍如何利用Python进行网站数据的抓取工作,然后加以利用使其成为一个英汉互译的工具。
  在安装Python的基础上,运用编辑器PyCharm对代码进行一系列的编辑。PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。我们可以导入别人写好的库,非常的方便简洁。
  設计网络爬虫翻译系统要解决的以下几个问题:
  窗口的初始化、输出,文本框、按钮等标签控件的使用。
  网页的分析,运用pip第三方库的导入。
  请求头——模拟浏览器去请求服务器,反反爬虫的运用。
  运用URL中有道词典对输入的关键字进行翻译,然后运用爬虫获取翻译之后的返回值。
  系统结构逻辑上由四个部分组成:第一个部分是窗口模块,负责窗口、输入框标签和按钮的搭建;第二个部分是按钮功能实现模块,将窗口模块中的按钮实现具体的功能;第三个部分负责爬取后网页数据的处理与分析;第四层是数据展示模块,负责将分析整理后的数据以文本的形式在翻译之后的文本框内显示出来。
  1.窗口模块
  设计这个项目的时候首先来创建一个窗口,然后在窗口中添加文本框、输入框和按钮。当我们添个各个组件的时候并未显示,在Python中叫做未实例化,所以可以通过root.maimloop()来显示窗口. 当我们在设计窗口时,我们可以先给它一个标题。然后发现它的初始化都是在电脑的左上角,而且大小还是初始的大小,为了利于输入时的内容看得见,现在需要对窗口的大小和位置进行调整。在这里我们用到了title()以及geometry().窗口创建完后先开始添加标签控件,创建好了但是没有显示,因为在tkinter中标签控件需要进行定位,确定标签控件在窗口中的具体位置。在这里直接用label.grid()就可以显示。在这里我们运用了表格式布局。同理根据标签控件的定位方法,可以对输入框进行定位。在这里出现了一个问题,因为这个窗口是表格式布局,所以在实现输入框实例化的时候其实它跟我们的要求有一定的差距。当然我们为了美观,可以对输入框和标签控件进行布局整理。输入框和标签控件还需要加上坐标,然后设置输入框内所输入的字体跟字号,在这里我们选择适合的大小,大小选择380x100就可以,位置可以根据屏幕的大小进行具体的调整,在这里我选用530+300。然后加上“翻译后的结果:”的标签。同理我们可以在grid()中通过row和column来确定具体的行和列。在这里我们还需要两个按钮来做点击事件,一个是“翻译”按钮,点击就可以对输入框内的内容进行翻译;另外一个就是“退出”按钮,点击此按钮窗口进行关闭,任务结束。button.grid()里对齐方式运用sticky = W、E、N、S分别表示左对齐、右对齐、上对齐、下对齐。在这里我们对“翻译”按钮运用左对齐,对“退出”按钮运用右对齐。
  2.按钮功能实现模块
  首先简单地介绍下Tkinter的概念,Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。Tk8.0 的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中Tkinter 按钮组件用于在Python应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。   3.爬虫分析模块
  爬虫分析的设计思路:爬取的网站地址,获取对应页面,提取有用数据并将数据显示在我们要他现在是的文本框内。接下来就是对爬虫一步一步的实现功能。
  首先我们要爬取的URL地址是http://fanyi.youdao.com/,我们可以先用浏览器打开有道翻译的地址进行网页分析。这时我们应该去找POST属性的网络请求,然后我们就会发现,这个POST请求的网址到底什么意思?其实它就是服务器的地址。当我们要翻译一个内容就必须向服务器发送一些数据,它是以表单参数的形式发送过去,我们可以在浏览器中找到,当网络通畅,没有其他阻碍的时候,服务器收到了给它发的数据,也会返回一个响应,其实它是一个json的数据类型。其中包括我们输入的内容以及服务器分析之后返回的内容,数据类型如下,
  {"translateResult":[[{"tgt":"hello","src":"你好"}]],"errorCode":0,"type":"zh-CHS2en","smartResult":{"entries":["","hello\r\n","hi\r\n","how do you do\r\n"],"type":1}}
  4.爬蟲实现模块
  以上就是我们对翻译过程进行的分析,其实也不是很难,接下来我们用Python来模拟这一过程就可以实现英汉互译的效果。浏览器给服务器发送什么内容我们可以用Python同样发送一个内容,当我们用Python模拟成浏览器之后服务器也会返回给我们一个参数。我们可以让程序运行一下,并输入任意一个英文单词,效果图如下:
  通过对Python项目的分析,对该系统的各个功能进行设计,并采用了GUI的tkinter库及整合,用requests库进行爬虫项目,完成了整个网站的各个功能的实现。
  【参考文献】
  于娟,刘强. 主题网络爬虫研究综述[J]. 计算机工程与科学, 2015, 37(02):231-237.
  张红云. 基于页面分析的主题网络爬虫的研究[D]. 武汉理工大学, 2010.
  张莹. 面向动态页面的网络爬虫系统的设计与实现[D]. 南开大学, 2012.
其他文献
摘要:以信息技术为代表的新经济是全球经济发展的主要趋势。随着全球化和高新技术的高速发展,新经济将对各国在新的国际竞争中的地位产生非常重要的影响。同时也对企业的管理和生产经营方面产生极大的影响。经济社会飞速发展,企业管理理念也随之革新。财务管理是企业管理中的重要组成部分,面对社会的新变化、企业的新发展,财务管理也应随之变化,不同时代下的财务管理有所不同。财务管理影响着企业利益是否达到最大化,因此在新
期刊
摘要:从国内文化行业的整体发展现状可知,动漫产业的近年逐渐呈现上升趋势,相较于日、美、韩国,国内的动漫产业起步比较晚,发展的时间较短,是从2001年才开始逐渐萌芽。对于国产动漫的发展环境而言,形势较之别国更加严峻,受到竞争激烈的电影和影视剧市场的挤压,而且缺乏成熟的指导和牢固的基础,主要依托日、美、韩国三国的动漫发展成功经验缓慢进步。本文对当前国内原创动漫产业的不足进行分析,并提供改良意见。  关
期刊
摘要:新能源汽车的故障问题主要集中于电池故障和制动故障等方面,其维修技术的关键在于检出率和时效性。需关注高压电容放电的效果,为后续维修提供安全环境。我国经济不断进步,同时也涌现了各种新型技术,而在我国经济发展的过程中,不可避免的会消耗大量的资源,并且对环境造成一定的污染,在绿色可持续发展战略的要求下,我们必须要发展一些绿色节能的、适合当下经济的新型技术,而新能源汽车就是符合这一发展要求的一大产物,
期刊
摘要:目前农业可持续发展、生态文明建设、环境保护和粮食安全问题受到高度关注,社会和农业从业者将以更高的标准来要求和规范自身的發展。植保技术和产品是农业必需的发展支撑和软实力。本文总结了植保技术和产品推广应用的关键理念和主要流程,为今后广大植保行业从业者提供参考,为农业可持续发展提供理论支撑。  关键词:植保技术;病虫草鼠害;绿色防控;推广应用;  1植保技术在农业生产中的应用  1.1品种选择  
期刊
一、前言  数据封装与传输和OSI参考模型密不可分,OSI参考模型是每位计算机专业学生必学的知识,每层的内容和功能学生们一般掌握的都比较好,但是对数据链路层协议和网络层协议的理解的一般都不够直观、不够深刻,仅仅停留在了解的层面。本文章通过思科公司的CiscoPacketTracer模拟器直观的描绘数据的封装与传输用到常用协议。.  二、仿真实验  1、仿真实验  模拟淄博职业学院综合楼522机房,
期刊
摘要:本文分析了财新网“微记录”栏目的视听语言的特色,及其改进建议。通过对财经类短纪录片视频栏目的研究与分析,为财经类媒体经济媒体在融媒体环境下的报道方式提供新思路。  关键词:财新网;微纪录;视听语言  财新网是由胡舒立所领导的财新传媒创办,是提供财经新闻及资讯服务的新媒体。“微记录”栏目隶属于财经视听板块,是一档财经类记录栏目。以人文视角解读财经内容,跟踪纪录社会中的产业现象与社会变迁,聚焦于
期刊
摘要:论坛自问世以来,越来越受广大用户的欢迎。随着网络的普及以及发展,论坛的用户量也是急速增长,俨然已经成为当今时代最受欢迎的在线交流平台,也成为年轻人获取消息的重要途径,使得论坛在互联网在线交流渠道中的地位越来越重要。本文以此为背景,采用时下比较流行的SSM框架,开发了一个以IT技术为讨论主题的论坛系统以供广大IT人士学习与交流使用。这种论坛虽然用户单一,并且主题比较小众,但是论题的专业性较强,
期刊
摘要:自动气象站的特点是无人操控便可工作,它可以自动探测某地区的风速、雨量、风向、空气温度、湿度等多种和气象有关的因素,是气象预报必不可少的天气信息来源。本文便对自动气象站的雷电外部防护与内部防护的屏蔽、均压等电位、分流、接地做一个简要的介绍,并针对其中存在的问题给出一些可靠的建议,希望对自动气象站的管理有引导意义。  关键词:自动气象站;雷电防护工程;工程概述;建议  近年来雷电袭击的案例屡见不
期刊
摘要:由于近年来在工业领域的深入发展,整体的产出效率也获得了一定的提高,而在当前信息化时代的发展下,工业行业若要达到更良好的发展前景,就必须极大地对自动化技术的运用创新。在DCS控制系统的使用中,其重点是为了对大型制造业企业在经济发展中对生产要求的适应,以及达到企业对于控制系统实现得更好作业条件,以综合智能系统化为出发点,采用了流程管理和过程监控的连接,并通过与电脑、通信、显示和监控四个技术相结合
期刊
【摘要】随着大数据技术逐步运用于气象网络平台,人们可以通过网络气象推送平台,实时的了解气象动态。相较于传统的电视广播的气象报道,气象网络推送平台的发展无疑为大众了解气象信息提供了便利。在各个网页,各个平台都可以实时的查询到气象信息很便利。但由于平台不同,气象信息在不同的平台推送的气象推送信息是不同的。气象网络推送的信息存在不同,不仅会给大众带去不好的服务体验,还会使平台的公信力下降。因此本文将从多
期刊