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

yipeiwu_com5年前Python基础

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

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读取文件内容,不用保存到磁盘即可读取图片文件的信息

#!/usr/bin/env python
#encoding=utf-8

import cStringIO, urllib2, Image

url = '/zb_users/upload/202003/kpeeihczsj1.png'
file = urllib2.urlopen(url)
tmpIm = cStringIO.StringIO(file.read())
im = Image.open(tmpIm)

print im.format, im.size, im.mode

相关文章

Odoo中如何生成唯一不重复的序列号详解

前言 最近在做的项目中有一个需求是要让某个字段值根据记录产生的日期和一定的组合规则按顺序生成一个序列号,这个序列号不可重复,这原本是一个很常见的需求,没有多想就写好了。由于没有考虑到并发...

Python使用Turtle库绘制一棵西兰花

Turtle库是Python中一个强大的绘制图像的函数库,灵活使用Turtle库可以绘制各种好看的图像。 下面介绍使用Turtle库绘制一棵西兰花。 绘制一棵西兰花,从主干出发以一定的角...

Python使用requests发送POST请求实例代码

本文研究的主要是Python使用requests发送POST请求的相关内容,具体介绍如下。 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行...

numpy.meshgrid()理解(小结)

numpy.meshgrid()理解(小结)

本文的目的是记录meshgrid()的理解过程: step1. 通过一个示例引入创建网格点矩阵; step2. 基于步骤1,说明meshgrid()的作用; step3. 详细解读mes...

Python多线程模块Threading用法示例小结

本文实例讲述了Python多线程模块Threading用法。分享给大家供大家参考,具体如下: 步入正题前,先准备下基本知识,线程与进程的概念。    相信作为一个测试人员,如果从理论概念...