python抓取網頁中圖片並儲存到本地

weixin_34219944發表於2014-04-17
#-*-coding:utf-8-*- 

import os
import uuid
import urllib2
import cookielib

'''獲取檔案字尾名'''
def get_file_extension(file):  
    return os.path.splitext(file)[1]  

'''建立檔案目錄,並返回該目錄'''
def mkdir(path):
    # 去除左右兩邊的空格
    path=path.strip()
    # 去除尾部 \符號
    path=path.rstrip("\\")

    if not os.path.exists(path):
        os.makedirs(path)
        
    return path

'''自動生成一個唯一的字串,固定長度為36'''
def unique_str():
    return str(uuid.uuid1())

'''
抓取網頁檔案內容,儲存到記憶體

@url 欲抓取檔案 ,path+filename
'''
def get_file(url):
    try:
        cj=cookielib.LWPCookieJar()
        opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
        urllib2.install_opener(opener)
        
        req=urllib2.Request(url)
        operate=opener.open(req)
        data=operate.read()
        return data
    except BaseException, e:
        print e
        return None
    
'''
儲存檔案到本地

@path  本地路徑
@file_name 檔名
@data 檔案內容
'''
def save_file(path, file_name, data):
    if data == None:
        return
    
    mkdir(path)
    if(not path.endswith("/")):
        path=path+"/"
    file=open(path+file_name, "wb")
    file.write(data)
    file.flush()
    file.close()
 

#獲取檔案字尾名
print get_file_extension("123.jpg");

#建立檔案目錄,並返回該目錄
#print mkdir("d:/ljq")

#自動生成一個唯一的字串,固定長度為36
print unique_str()

url="http://qlogo1.store.qq.com/qzone/416501600/416501600/100?0";
save_file("d:/ljq/", "123.jpg", get_file(url))

 

 

相關文章