原文:http://www.lpfrx.com/archives/205/
这阵子使用python里读rss保存到数据库里,但使用了一段时间urllib觉得慢,在网上说pycurl的速度比urllib快,于是尝试使用,记录下使用方法:
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import StringIO
- import pycurl
- html = StringIO.StringIO()
- c = pycurl.Curl()
- myurl='http://www.lpfrx.com'
- c.setopt(pycurl.URL, myurl)
- #写的回调
- c.setopt(pycurl.WRITEFUNCTION, html.write)
- c.setopt(pycurl.FOLLOWLOCATION, 1)
- #最大重定向次数,可以预防重定向陷阱
- c.setopt(pycurl.MAXREDIRS, 5)
- #连接超时设置
- c.setopt(pycurl.CONNECTTIMEOUT, 60)
- c.setopt(pycurl.TIMEOUT, 300)
- #模拟浏览器
- c.setopt(pycurl.USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)")
- #访问,阻塞到访问结束
- c.perform()
- #打印出 200(HTTP状态码)
- print c.getinfo(pycurl.HTTP_CODE)
- #输出网页的内容
- print html.getvalue()
- #输出网页类型
- print "Content-type:", c.getinfo(c.CONTENT_TYPE)
安装pycurl到http://pycurl.sourceforge.net/这里去找.
在windows安装的话http://pycurl.sourceforge.net/download/ , 看你使用的版本决定下载那个,我在 windows使用的是python2.4, 所以下载 pycurl-ssl-7.15.5.1.win32-py2.4.exe 。