下载后可任意编辑Pycurl 的简单使用与对比在几次莫名其妙的退出之后,我终于有点放弃 urllib2,开始尝试其他的模块。看到很多人推举 wget 和 pycurl。wget 是独立软件,所以就没考虑。pycurl 的话,得益于基于 c 语言开发的 curl 性能强劲,使得普遍反映它效率快、稳定性高、功能强大。于是决定尝试之,简单测试了下(见后面),假如用平均值来比较的话,pycur 所消耗的时间远小于 urllib2。这对于爬虫来讲,累积之后变化就非常可观了。PycURL 是一个非常快速(参考多并发操作)和丰富完整特性的,但是有点复杂的接口。假如你需要些简单或纯 Python 的模块,你可以参考一下 urllib2 或 urlgrabber 。通过 http://pycurl.sourceforge.net/ 了解 PycURL 的文档信息及其其他信息。因为 PycURL 是对 libcurl 的一个封装,使用时还需要参考 libcurl 的文档(针对 C 的)。pycurl 的安装 猎取和安装 libcurl 非常简单,取决于您所运行的 Linux 版本,假如你也使用ubuntu,那只需要使用 ap-get 就可以轻松安装。$ sudo apt-get libcurl3$ sudo apt-get python-pycurl假如想查看下系统内 pycurl 版本信息可以:1 >>> import pycurl2 >>> pycurl.version3 'libcurl/7.19.7 GnuTLS/2.8.5 zlib/1.2.3.3 libidn/1.15'如上所示,我的系统里的 libcurl 是 7.19.7 的最新版本。pycurl 的使用:pycurl.Curl() -> Curl object下载后可任意编辑这个函数创建一个同 libcurl 中的 CURL 处理器相对应的 Curl 对象.Curl 对象自动的设置 CURLOPT_VERBOSE 为 0, CURLOPT_NOPROGRESS 为 1,提供一个默认的CURLOPT_USERAGENT 和设置 CURLOPT_ERRORBUFFER 指向一个私 有的错误缓冲区.pycurl.CurlMulti() -> CurlMulti object这个函数创建一个新的与 libcurl 中的 CURLM 处理器相 对应的 CurlMulti 对象.pycurl.CurlShare() -> CurlShare object这个函数创建一个新的与 libcurl 中的 CURLSH 处理器 相对应的 CurlShare 对象.CurlShare 对 象可以在 Curl 对象上传递 SHARE 选项参数. [待续]其中:Curl 对象具有以下方法:close() -> None 对应的是 libcurl 中的 curl_easy_cleanup 方法.当 Curl 对象不再被引用时 pycurl 会自动调用这个方法,但也可直接地调用这个方法.perform() -> None 对应于 libcurl 中的 curl_easy_perform 方法.setopt(op...