好的,所以我需要使用 Python 下载一些网页并快速调查我的选项。
包含在 Python 中:
urllib - 在我看来,我应该使用 urllib2 来代替。urllib 不支持 cookie,仅支持 HTTP/FTP/本地文件(无 SSL)
urllib2 - 完整的 HTTP/FTP 客户端,支持最需要的东西,比如 cookie,不支持所有 HTTP 动词(只有 GET 和 POST,没有 TRACE 等)
全功能:
mechanize - 可以使用/保存 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 和 mechanize 看起来都非常受欢迎,我是否缺少一些东西(即,如果我使用 urllib2,我会在某个时候把自己画到一个角落吗?)。我真的很想得到一些关于这些东西的利弊的反馈,这样我就可以为自己做出最好的选择。
编辑:在 urllib2 中添加了关于动词支持的注释