[Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
[Python學習]PycURL簡單學習 - limodou的學習記錄 - limodou是一個程序員,他關心的焦點是Python, DocBook, Open Source …
[Python學習]PycURL簡單學習?
?
PycURL 是一個C語言寫的 libcurl 的 Python 綁定庫。libcurl 是一個自由的,并且容易使用的用在客戶端的 URL 傳輸庫。它的功能很強大,在 PycURL? 的主頁上介紹的支持的功能有:
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!
那一大堆的協(xié)議已經(jīng)讓人驚喜了,特別是還有代理服務器和用戶認證之類的功能。這個庫相對于 urllib2 來說,它不是純 Python 的,它是一個 C 庫,但因此速度更快,但它不是很 pythonic ,學起來有些復雜。它在多種平臺下都有移植,象 Linux , Mac, Windows, 和多種Unix。
我安裝了一個,并且測試了一小段代碼,是有些復雜,代碼如下:
??????? 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, ‘a(chǎn)aa:aaa’)
??????? c.perform()
??????? print b.getvalue()
上述代碼將會把奇客(Solidot)的RSS抓下來。如果有代理服務器,那么修改一下注釋的兩行即可。在 PycURL 的主頁上還有一個多線程抓取的例子,有興趣的可以看一看。
總結
以上是生活随笔為你收集整理的[Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TIBCO宣布接近达成收购LogLogi
- 下一篇: c#,将pdf文件转换成图片文件。