使用Python的urllib2模块处理url和图片的技巧两则

时间:2022-12-04 20:56:05

获取带有中文参数的url内容
对于中文的参数如果不进行编码的话,python的urllib2直接处理会报错,我们可以先将中文转换成utf- 8编码,然后使用urllib2.quote方法对参数进行url编码后传递。

?
1
2
3
4
5
content = u'你好 sharejs.com'
content = content.encode('utf-8')
content = urllib2.quote(content)
api_url = 'http://www.sharejs.com/q=%s'%content
res = urllib2.urlopen(api_url)


获取远程图片的大小和尺寸
这段代码通过urllib2打开远程图片,通过cStringIO读取文件内容,不用保存到磁盘即可读取图片文件的信息

?
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
#encoding=utf-8
 
import cStringIO, urllib2, Image
 
url = 'http://www.01happy.com/wp-content/uploads/2012/09/bg.png'
file = urllib2.urlopen(url)
tmpIm = cStringIO.StringIO(file.read())
im = Image.open(tmpIm)
 
print im.format, im.size, im.mode