利用python爬虫实现简单翻译软件

近期,在做项目中,有一个问题一直困扰着我,就是翻译英文太难,中文毕竟还是母语,所以读写看还是方便的多,但因为项目中处理的都是英文的部分,所以,想做一个小的爬虫程序,来实现翻译的功能。有了这个目标,OK,现在开始实现。

首先,需要简单的了解一下爬虫,尽可能简单快速的上手,我希望可以在今天下午四点的时候搞定基础知识,其次,需要了解的是百度的API的接口,搞定这个之后,谷歌翻译会更加麻烦一点,先搞定百度翻译,然后再解决谷歌翻译的事情,最后,按照官方给出的demo,然后写自己的一个小程序。

第一个部分:Python爬虫的基础知识
1,使用的第三方库:urllib, urllib2,利用这些库我们可以得到 页的内容。
2,Python正则表达式,用于匹配表达式,可以视为抽取的作用,把我们想要的部分可以抽取出来。
3,爬虫的Scrapy框架。这个是后续的内容啦。
详见官方文档:http://doc.scrapy.org/en/latest/
4,URL,统一资源定位符,即我们需要到达的目的地址
DNS,域名系统,就是IP的另一个名字,我们只需要知道别名,就可以访问到那个IP地址了。
HTML代码, 页的实质,利用谷歌的审查元素就可以看到 页呈现的格式。
5,简单的爬虫的教程,感谢大神的分享, 我就直接贴上大神的 址,以便后续遗忘时的查看。http://python.jobbole.com/81336/
6,数据传送的二种方式:post和get方式
简单的 页抓取是静态的 页,但很多时候,是动态的 页,需要我们传递数据给服务器来获得所需要的 页数据,所以数据传送的方式分为二种,post方式和get方式。
get方式是直接以链接的方式来访问,链接中包含了所有的参数,用户可以方便直观的查看自己提交的内容,但不太安全;post方式则不会再 址上显示所有的参数,查看提交的内容不方便,但相对而言比较安全。
post方式:(对于数据具有隐藏功能)

get方式:(显式的显现数据)

7,设置Headers
站点对于简单的方式访问并不买账,这个时候并不会返回任何内容,不会响应,所以需要模拟浏览器的工作,所以需要设置一些Headers的属性,让我们的访问类似于浏览器的访问。
在头部Headers中,有很多文件编码,压缩方式,请求的agent等信息,如果没有请求的身份,那么服务器不一定会有响应,所以我们在头部数据中加入agent信息,来模拟浏览器的行为。对于headers中的“反盗链”的方式,需要判断的是referer字段,判断是不是它自己,如果不是,则不会响应。

8,设置代理Proxy

9, Timeout设置
10,cookie的使用
一直说cookie,cookie,到底是什么东西,是指某些 站为了辨别用户身份,进行session跟踪而存储在用户本地终端上的数据。比如说有些 站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容是不允许的,那么我们可以利用Urllib2库保存我们登录的Cookie,然后再抓取其他页面就达到目的了。
首先,我们需要的是一个opener的实例,之前我们采用的urlopen,是一个简单的opener实例,传入的参数仅仅是url,data,timeout,而我们需要更复杂的功能时,这个是满足不了我们的要求的,所以我们需要创建更一般的opener来实现Cookie的设置。
其次,我们采用cookielib模块,来提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源,Cookielib模块功能非常强大,我们可以利用本模块的CookierJar类的对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有CookieJar,FileCookieJar,MozillaCookieJar,LWPCookieJar.
具体的教程:http://python.jobbole.com/81344/
11,正则表达式
正则表达式是对字符串操作的一种逻辑公式,是用事先定义好的一些特定字符,及这些特定字符的组合,组成一个“规则字符串”,用于对字符串的一种过滤逻辑。
第二部分:了解百度翻译的API
首先,需要在百度翻译平台来进行注册http://api.fanyi.baidu.com/api/trans/product/apidoc
在管理控制台来找到自己的APP ID和密钥。

继续Tkinter的学习,,我也在怀疑自己,我是不是应该为了找工作做准备呀,一直沉浸在自己的小世界中,是不是不太好。。。不管,今天要做一个小的界面出来。

简单的教程,参见大神的博客,我把参考的博客贴出来,以便后续的复习。
http://blog.csdn.net/wangyiyan315/article/details/16361065

大佬千千万,你说厉不厉害,就问你说厉害不厉害~~
对于Tkinter可以设置窗口的标题,窗口的大小,以及改变窗口的长宽问题;
其次说明其中的一些组件以及容器的概念
详情参见:https://www.cnblogs.com/kaituorensheng/p/3287652.html
http://lib.csdn.net/article/python/3615

具体的程序,我贴到这里,第一次做,能力有限,界面有点丑,之后改进。

出来的效果图:

这里写图片描述

哇卡哇卡,,完成一次小的实践操作呢·~

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年11月16日
下一篇 2017年11月16日

相关推荐