urllib可以打开任意的一个url地址,遵循了一些标准,比如
-RFC1808:相对路径处理方法
-RFC1738:标准url地址
-RFC1630:url细则
通过使用URLopener().open(file)将返回一个使用了不同协议操作的对象。
接下来这个对象就可以调用像read(),readline(),readlines(),fileno(), close()和info()方法,大家可以看出很多都是类似于文件对象的方法。
info方法返回一个mimetools.Message对象,能用于这个对象的各种信息状态的显示。如果使用info方法,将相应的调用getheader方法.
urllib中主题就2个类,一个URLopener类,一个FancyURLopener类,FancyURLopener是URLopener类的子类,也就是对URLopener类的扩展。而其他绝大部分的类都是围绕或者基于这2个类进行处理,一个urllib模块只要通了URLopener其他甚至都可以自己扩展了。
大多数情况下我们都是使用urllib.urlopen(),urllib.urlopen()可以直接使用代理,假如我们真的使用不那么高级点,这个还是不错的。