[Python学习]PycURL简单学习

http://blog.donews.com/limodou/archive/2005/11/28/641257.aspx php


PycURL 是一个C语言写的 libcurl 的 Python 绑定库。libcurl 是一个自由的,而且容易使用的用在客户端的 URL 传输库。它的功能很强大,在 PycURL  的主页上介绍的支持的功能有:python

supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more!服务器

那一大堆的协议已经让人惊喜了,特别是还有代理服务器和用户认证之类的功能。这个库相对于 urllib2 来讲,它不是纯 Python 的,它是一个 C 库,但所以速度更快,但它不是很 pythonic ,学起来有些复杂。它在多种平台下都有移植,象 Linux , Mac, Windows, 和多种Unix。cookie

我安装了一个,而且测试了一小段代码,是有些复杂,代码以下:多线程

        import pycurl
        c = 
pycurl.Curl()
        c.setopt(pycurl.URL, ‘http://feeds.feedburner.com/solidot’)
        import StringIO
        b = StringIO.StringIO()
        c.setopt(pycurl.WRITEFUNCTION, b.write)
        c.setopt(pycurl.FOLLOWLOCATION, 1)
        c.setopt(pycurl.MAXREDIRS, 5)
#        c.setopt(pycurl.PROXY, ‘http://11.11.11.11:8080′)
#        c.setopt(pycurl.PROXYUSERPWD, ‘aaa:aaa’)
        c.perform()
        print b.getvalue()curl

上述代码将会把奇客(Solidot)的RSS抓下来。若是有代理服务器,那么修改一下注释的两行便可。在 PycURL 的主页上还有一个多线程抓取的例子,有兴趣的能够看一看。测试

相关文章
相关标签/搜索