好的,所以我需要使用Python下载一些网页,并对我的选项进行了快速调查。
包含在Python中:
urllib-在我看来,我应该改用urllib2。urllib不支持cookie,仅HTTP / FTP /本地文件(不支持SSL)
urllib2-完整的HTTP / FTP客户端,支持大多数需要的东西,例如cookie,不支持所有HTTP动词(仅GET和POST,无TRACE等)
全功能:
机械化-可以使用/保存Firefox / IE cookie,采取诸如跟随第二个链接之类的操作,并得到积极维护(2011年3月发布的0.2.5)
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和机械化两者似乎都很流行,是否缺少某些东西(即,如果我使用urllib2,我是否会在某个时候画一个角?)。我真的很想就这些事情的利弊提供一些反馈,以便为自己做出最佳选择。
编辑:在urllib2中添加了有关动词支持的注释