如果说java是建造高楼的砖石,那么python就是一支素质良好的施工队。
有一天,我苦于在ubuntu下没有找到词典应用,不得不打开网页,诸如有道词典这样的,然后输入单词。
凑合可用。但是网页内容太多,而且切换不易。于是决定用python解析这些网页,提取翻译。
首先,我们需要一个类似httpclient的工具,相当于浏览器的交流工具,然后还要一个html解析器。
当然我们不许要自己动手建造,只需要import httplib, import urllib,import sgmllib 即可。
好吧,来看我们是如何从有道词典抓数据的。
#!/usr/bin/evn python # -*- coding: utf-8 -*- import httplib import urllib import sys from sgmllib import SGMLParser class GetTrans(SGMLParser): def reset(self): self.text = [] self.flag = False self.getdata = False self.layer = 0 SGMLParser.reset(self) def start_div(self, attrs): if self.flag == True: self.layer += 1 return for k, v in attrs: if (k == 'id' and v =='phrsListTab') or (k == 'class' and v == 'phonetic'): self.flag = True return def end_div(self): if self.layer == 0: self.flag = False if self.flag == True: self.layer -= 1 def start_ul(self, attrs): if self.flag == False: return self.getdata = True def end_ul(self): if self.getdata: self.getdata = False def start_span(self,attrs): if self.flag == False: return self.getdata = True def end_span(self): if self.getdata: self.getdata = False def handle_data(self, text): if self.getdata: self.text.append(text) def printText(self): for i in self.text: print i def sendhttp(key): data = urllib.urlencode({'q':key,'le':'eng','from':'dict.index'}) headers = {"Content-type":"application/x-www-form-urlencoded","Accept":"text/plain"} conn = httplib.HTTPConnection("dict.youdao.com"); conn.request('POST', '/search', data, headers) httpres = conn.getresponse() t = GetTrans() t.feed(httpres.read()) t.printText() conn.close() if __name__ == '__main__': while True: print "please input word:\n" word = raw_input() sendhttp(word) if word == 'quit': break print 'bye'
代码很少,最多的是如何解析html,这里使用的解析类似xml解析中的节点方法,定义遇到html标签时的处理方法,例如,如果要处理 <body>那么,定义这样的函数 start_body 当然当处理</body>时,需要 end_body这样的函数。我们只需定义关心的标签。这里需要注意的是标签的套嵌,我们使用layer来判断。
接下来就是模拟一个http的请求,构造一个url请求,然后返回结果。
httplib 还有更强大的httplib2。有心的同学可以去研究。这个简易词典已经能工作了。你可以根据自己的需求修改代码。快来动手吧。
please input word: supposedly supposedly 英 [sə'pəʊzɪdlɪ] 美 [sə'pozɪdli] adv. 可能;按照推测;恐怕
相关推荐
该项目是一个全面的Python与Web全栈技术学习源码,包含856个文件,其中涵盖211个XML配置文件、205个Python源代码文件、116个HTML文件、91个JPEG图片文件、65个Python编译文件、47个IDE项目文件、46个Git忽略文件、16...
本项目是一款基于Python与Web技术的疾病登录系统设计源码,共包含5239个文件,涵盖1669个SVG文件、946个Python编译文件、932个Python源文件、804个数据文件、36个文本文件以及30个其他类型文件。该系统专注于疾病...
该项目是一款采用Python与Web技术的全栈投票系统源码,集成了83个JavaScript文件、20个SVG文件、15个CSS文件、13个Python文件、6个文本文件、3个字体文件、3个HTML文件、2个Markdown文件、1个SQLite数据库文件及其他...
Python是一种强大且灵活的编程语言,特别适合于Web开发,因为它的语法简洁,学习曲线平缓,且拥有丰富的网络库和框架。Python的基础语法和数据类型是初学者必须掌握的关键内容,包括数字、字符串、列表、元组和字典...
该源码是一款使用Python与Web技术开发的一站式短视频拼接软件,集成了78个Python脚本、21个PNG图片、9个Markdown文档等共计174个文件,涵盖了HTML, CSS, TypeScript等多种语言。软件功能强大,支持无依赖运行,一键...
本篇文章将深入探讨Python与Web.py的结合以及如何在Python3环境下配置MySQL5数据库,帮助你掌握这一技能。 首先,让我们了解Python在Web开发中的角色。Python以其清晰的语法和丰富的库而著名,为开发Web应用提供了...
7. **部署与集成**: 可以将Python-WebSSH部署在各种Web服务器上,如Apache或Nginx,并可以与其他系统(如监控、自动化工具)集成,以实现更复杂的运维需求。 在`huashengdun-webssh-49a64b7`这个文件夹中,包含了...
该大作业项目是一款基于Python和Web技术的评教系统设计源码,由20个文件组成,包括6个Python源代码文件、3个HTML文件、3个CSS样式文件、2个XML配置文件、1个Markdown文件、1个Java文件、1个YAML文件、1个WSGI文件、1...
本资源包“python+web开发框架工具包”专为初学者设计,旨在帮助新手快速入门Python与Web开发,积累基础知识。 首先,我们要了解Python在Web开发中的角色。Python是一种解释型、面向对象的高级编程语言,它提供了...
基于 Python 的 Web 技术 Python 是一种广泛应用于 Web 开发的高级语言,具有简洁易学、开发效率高、可读性强等优点。今天,我们将对基于 Python 的 Web 技术进行详细的介绍。 什么是 LAMP LAMP 是一种流行的 Web...
该项目是一款以Python为核心,结合Web技术的12306购票助手设计源码,共计79个文件,涵盖34个Python脚本、7个JavaScript脚本、4个Git忽略文件、4个示例文件、4个字体文件、4个矢量图形文件、3个文本文件、3个CSS样式...
Python与Web开发:Flask框架 Python与Web开发:Django框架 Python数据分析:Pandas库 Python数据可视化:Matplotlib与Seaborn Python机器学习基础:Scikit-Learn Python深度学习入门:TensorFlow与Keras Python自动...
**Python Web开发概述** Python Web开发是利用Python编程语言构建Web应用程序的过程,它结合了Python的强大功能和灵活性,以及Web开发的各种框架和技术。本课程针对的是电子商务等专业的学生,旨在通过学习,让学生...
书中会先介绍Python的基础语法,如变量、数据类型、控制结构(条件语句、循环)、函数、类与对象等,这些都是Web开发的基础。 2. **Web框架**:Python有许多优秀的Web框架,如Django、Flask、Tornado等。书中的项目...
2. **WSGI(Web Server Gateway Interface)**:Python标准的Web服务器接口,定义了Web服务器如何与Web应用程序交互。 3. **模板引擎**:如Jinja2,用于生成HTML页面,允许开发者将动态数据嵌入到静态模板中。 4. **...
想成为 Python web 开发工程师?想进入 Python 行业拿高薪?但还没入行? 别急,先看看 Python web 开发视频教 程。 千锋 Python 基础教程:http://pan.baidu.com/s/1qYTZiNE Python 课程教学高手晋级视频总目录: ...
Python大作业基于python的web日志分析工具项目源码+注释.zipPython大作业基于python的web日志分析工具项目源码+注释.zipPython大作业基于python的web日志分析工具项目源码+注释.zipPython大作业基于python的web日志...
在实际开发中,你可能需要了解Web.py如何处理HTTP请求和响应,以及如何与其他Python库(如Flask、Django等其他Web框架)进行对比。同时,学习如何利用Web.py构建RESTful API、处理表单数据、实现会话管理等也是重要...
使用Python和Requests库与Web应用程序交互 创建一个基本的Web应用程序爬虫并使其递归 开发一个强力工具来发现和枚举文件和目录等资源 探索Web应用程序中常用的不同身份验证方法 使用SQL注入从数据库枚举表名 了解Web...
Python Web开发是现代互联网应用构建的重要技术之一,它利用Python语言的强大功能和丰富的库资源,结合Web框架,如Django、Flask等,快速构建高效、可扩展的Web应用程序。"Python Web开发实录源代码"是针对这一主题...