这阵子使用python里读rss保存到数据库里,但使用了一段时间urllib觉得慢,在网上说pycurl的速度比urllib快,于是尝试使用,记录下使用方法:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import StringIO
import pycurl
html = StringIO.StringIO()
c = pycurl.Curl()
myurl=’https://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 。