好的,所以我需要使用Python下载一些网页,并快速调查了我的选择。
与Python一起包含:
urllib - 我认为我应该使用urllib2。urllib没有cookie支持,仅支持HTTP / FTP /本地文件(无SSL)
urllib2 -完整的HTTP / FTP客户端,支持大多数所需功能,如cookies,不支持所有HTTP动词(仅限GET和POST,没有TRACE等)
全功能:
mechanize - 可以使用/保存Firefox / IE cookies,执行操作,如跟随第二个链接,处于积极维护状态(0.2.5在2011年3月发布)
PycURL - 支持curl支持的所有内容(FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE和LDAP),坏消息:自2008年9月9日以来未更新(7.19.0)
新可能性:
urllib3 - 支持连接重用/池和文件发布
已弃用(又名请改用urllib / urllib2):
httplib - 仅限HTTP / HTTPS(无FTP)
httplib2 - 仅限HTTP / HTTPS(无FTP)
我注意到的第一件事是,urllib / urllib2 / PycURL / mechanize都是相当成熟的解决方案,运作良好。mechanize和PycURL附带在许多Linux发行版(例如Fedora 13)和BSD上,因此通常安装不是问题(所以这很好)。
urllib2看起来不错,但我想知道为什么PycURL和mechanize都很受欢迎,我是否漏掉了什么(即如果我使用urllib2,是否会陷入某些困境?)。我真的很想得到关于这些工具的优缺点反馈,以便我可以为自己做出最好的选择。
编辑:添加了关于urllib2中动词支持的说明。