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