第二十章 Web 编程
urlparse 模块:
Urlparse 功能 | 描述 |
Urlparse(urlstr,defProtSch=None,allowF rag=None | 将 urlstr 解析成各个部件 defProtSch 为 URL 协议, allowFrag 为决定是否允许 URL 零部件 |
Urlunparse(urltup) | 将 URL 数据的一个元组反解析成一个 URL 字符串 |
Urljoin(baseurl,newurl,allowFrag=None ) | 将 URL 基部件 baseurl 和 newurl 拼合成一个完整的 URL |
Urllib 模块:
Urllib 模块提供了所有你需要的功能,它提供了一个高级的 Web 交流库。其特殊功 能在于利用各种协议(HTTP 、FTP 等)从网络上下载数据。
urllib.open()
语法: urlopen(urlstr, postQueryData=None)
作用:打开 urlstr 所指向的 URL
结果:成功则返回一个文件类型对象
urllib.urlretrieve()
语法: urlretrieve(urlstr, localfile=None, downloadSta-tusHook=None) 作用:将 urlstr 定位到的整个 HTML 文件下载到本地硬盘
结果:返回一个二元组(filename,mine_hdrs)本地文件名、 MIME 文件头
(以上是两个 urllib 模块核心函数中特别常用的两个函数, 故为大家列了出来,望学习时 多加关注,另外对于更为复杂的 URL 打开问题可用 urllib2 模块进行处理)
Python 的基本 Web 客户端一般用于在 Web 上查询或下载文件。 而其高级 Web 客户端可
以在 internet 上完成基于不同目的的所有和下载页面,包括:
为 Google 和 Yahoo 的搜索引擎建索引
脱机浏览—将文档下载到本地,重新设定超链接,为本地浏览器创建镜像 下载并保持历史记录或框架
Web 页的缓存, 节省再次访问Web 站点的下载时间
高级 Web 客户端的一个例子就是“网络爬虫”(也称蜘蛛或机器人), 与正则表达式的 完美结合使用, 使你在 internet 上想“爬”什么就“爬”什么。
CGI:帮助 Web 服务器处理客户端数据
Web 服务器接收到表单反馈,与外部应用程序交互,收到并返回新的生成的 HTML 页面都发生在 Web 服务器的 CGI (标准网关接口,Common Gateway Interface)接口上。
CGI 其实只是一个适用于小型 Web 网站开发的工具。
FieldStorge 类: Python CGI 脚本开始时被实例化, 包含一个类似字典的对象,键 —表单栏 目的名字,值—栏目相应的数据。
建立 Python 自带的 Web 服务器:
命令: $ Python – m CGIHTTPServer
端口: 8000
目录: 在目录下手工建立 Cgi-bin 存放.py CGI 脚本
访问: http://localhost:8000/ex.html
用 Python 建立 Web 服务器:
要建立一个 Web 服务, 一个基本的服务器和一个“处理器”是必备的。 基本的服务器: 在客户端和服务器端完成必要的 HTTP 交互。
处理器: 处理 Web 服务的简单软件。处理客户端请求,并返回适当的文件。
Web 服务器模块和类
模块 | 描述 |
BaseHTTPServer | 提供基本的 Web 服务和处理器类, 分别是 HTTPServer 和 BaseHTTPRequestHandler |
SimpleHTTPServer | 包含执行 GET 和 HEAD 请求的 SimpleHTTPRequestHandle 类 |
CGIHTTPServer | 包含处理 POST 请求和执行 CGIHTTPRequestHandle 类 |