zoukankan      html  css  js  c++  java
  • python抓取网页中图片并保存到本地

    #-*-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))
  • 相关阅读:
    HTML&&CSS
    web概述&HTML快速入门
    JDBC连接池&JDBCTemplate
    基于Breast Cancer dataset的决策树分类及可视化
    三维数组按行优先存储求某位置的地址
    2019年复旦计算机专硕考研经验总结
    1013 Battle Over Cities (25 分)
    1009 Product of Polynomials (25 分)
    1004 Counting Leaves (30 分)
    1090 危险品装箱 (25 分)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/3672285.html
Copyright © 2011-2022 走看看