浏览器只是 Web 客户端的一种。任何一个向 Web 服务器端发送请求来获得数据的应用程序都是“客户端”。也可以创建其他的客户端,来在因特网上检索出文档和数据。客户端程序可以完成更多的工作,不仅可以下载数据,还可以存储、操作数据,甚至可以将其传送到另外一个地方或者传给另外一个应用。
使用 urllib 模块下载或者访问 Web 上信息的应用程序(使用 urllib.urlopen()或者 urllib.urlretrieve())就是简单的 Web 客户端。
一、统一资源定位符
简单的网页浏览需要用到名为 URL(统一资源定位符)的 Web 地址。这个地址用来在 Web上定位一个文档,或者调用一个 CGI 程序来为客户端生成一个文档。 URL 是多种统一资源标识符(Uniform Resource Identifier, URI) 的一部分。
一个 URL 是一个简单的 URI,它使用已有的协议或方案(即 http、 ftp 等),作为地址的一部分。为了更完整地描述,还要介绍非 URL 的 URI,有时它们称为统一资源名称(Uniform Resource Name, URN),但是现在唯一使用的 URI 只有 URL
prot_sch://net_loc/path;params?query#frag
net_loc 可以进一步拆分成多个组件,一些是必备的,另一些是可选的。 net_loc 字符串如下。
user:passwd@host:port