[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 的主頁上還有一個多線程抓取的例子,有興趣的能夠看一看。測試

相關文章
相關標籤/搜索