pycurl下载图片的方法代码,直接套用即可

上次均益发了一个最简洁的python下载的图片代码,详情看这篇文章《python 最简洁下载图片的代码》,里面用到的是urllib模块。这个模块是python自带的,在多线程的时候,不是那么好用,容易卡死。
这时我们可以用pycurl这个模块,比urllib好用多了。下面直接贴上代码,根据代码注释修改就可以了。

 
#coding:utf-8
import pycurl,StringIO
 
#传入图片的下载链接
url = 'http://junyiseo.com/wp-content/uploads/2016/10/6.jpg'
 
c = pycurl.Curl()	#通过curl方法构造一个对象
c.setopt(pycurl.FOLLOWLOCATION, True)	#自动进行跳转抓取
c.setopt(pycurl.MAXREDIRS,5)			#设置最多跳转多少次
c.setopt(pycurl.CONNECTTIMEOUT, 60)		#设置链接超时
c.setopt(pycurl.TIMEOUT,260)			#下载超时
c.fp = StringIO.StringIO()	
c.setopt(pycurl.URL, url)	#设置要访问的URL
c.setopt(c.WRITEFUNCTION, c.fp.write)	#回调写入字符串缓存
c.perform()		
code = c.getinfo(c.HTTP_CODE)	#返回状态码
img = c.fp.getvalue()	#返回源代码
 
#保存图片
f = open("./%s" % ("img_filename.jpg",), 'wb')
f.write(img)
f.close()

一条评论

  1. 代码写得不错,学习了。

发表评论