读书人

python requests 下载图片跟数据库读取

发布时间: 2013-11-08 17:52:32 作者: rapoo

python requests 下载图片和数据库读取
python requests 下载图片

def downloadImageFile(imgUrl):    local_filename = imgUrl.split('/')[-1]    print "Download Image File=", local_filename    r = requests.get(imgUrl, stream=True) # here we need to set stream = True parameter    with open("/home/pandy/"+local_filename, 'wb') as f:        for chunk in r.iter_content(chunk_size=1024):            if chunk: # filter out keep-alive new chunks                f.write(chunk)                f.flush()        f.close()    return local_filename


python+MySQLdb实现二进制图片的写库及读出
http://xiaolin0199.iteye.com/blog/585519
#!/usr/bin/python#coding=utf-8import MySQLdbclass BlobDataTestor:    def __init__ (self):        self.conn = MySQLdb.connect(host='localhost',user='<your user>',passwd='<your pw>',db='0')    def __del__ (self):        try:            self.conn.close()        except :            pass     def closedb(self):        self.conn.close()    def setup(self):        cursor = self.conn.cursor()        cursor.execute( """            CREATE TABLE IF NOT EXISTS `Dem_Picture` (            `ID` int(11) NOT NULL auto_increment,            `PicData` mediumblob,            PRIMARY KEY (`ID`)            ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;            """)    def teardown(self):        cursor = self.conn.cursor()        try:            cursor.execute( "Drop Table Dem_Picture" )        except:            pass         # self.conn.commit()     def testRWBlobData(self):     # 读取源图片数据                       f = open( "C:\\11.jpg" , "rb" )        b = f.read()        f.close()    # 将图片数据写入表         cursor = self.conn.cursor()        cursor.execute( "INSERT INTO Dem_Picture (PicData) VALUES (%s)" , (MySQLdb.Binary(b)))    # self.conn.commit()     # 读取表内图片数据,并写入硬盘文件         cursor.execute( "SELECT PicData FROM Dem_Picture ORDER BY ID DESC limit 1" )        d = cursor.fetchone()[0]        cursor.close()        f = open( "C:\\22.jpg" , "wb" )        f.write(d)        f.close()if __name__ == "__main__":    test = BlobDataTestor()    try:        test.setup()        test.testRWBlobData()        test.teardown()    finally:        test.closedb()

读书人网 >其他数据库

热点推荐