zoukankan      html  css  js  c++  java
  • Python抓取网页中的图片到本地

    今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子:

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 #   Author:    xixihuang
     5 #   Date  :     2016/08/28 10:12 AM
     6 #   Desc:       抓取网页,获取图片URL,抓取图片内容并保存到本地。
     7 
     8 import os
     9 import uuid
    10 import urllib2
    11 import cookielib
    12 '''获取文件后缀名'''
    13 def get_file_extension(file):
    14   return os.path.splitext(file)[1]
    15 '''創建文件目录,并返回该目录'''
    16 def mkdir(path):
    17   # 去除左右两边的空格
    18   path=path.strip()
    19   # 去除尾部 符号
    20   path=path.rstrip("\")
    21   if not os.path.exists(path):
    22     os.makedirs(path)
    23   return path
    24 '''自动生成一个唯一的字符串,固定长度为36'''
    25 def unique_str():
    26   return str(uuid.uuid1())
    27 '''
    28 抓取网页文件内容,保存到内存
    29 @url 欲抓取文件 ,path+filename
    30 '''
    31 def get_file(url):
    32   try:
    33     cj=cookielib.LWPCookieJar()
    34     opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    35     urllib2.install_opener(opener)
    36     req=urllib2.Request(url)
    37     operate=opener.open(req)
    38     data=operate.read()
    39     return data
    40   except BaseException, e:
    41     print e
    42     return None
    43 '''
    44 保存文件到本地
    45 @path 本地路径
    46 @file_name 文件名
    47 @data 文件内容
    48 '''
    49 def save_file(path, file_name, data):
    50   if data == None:
    51     return
    52   mkdir(path)
    53   if(not path.endswith("/")):
    54     path=path+"/"
    55   file=open(path+file_name, "wb")
    56   file.write(data)
    57   file.flush()
    58   file.close()
    59 #获取文件后缀名
    60 print get_file_extension("123.jpg");
    61 #創建文件目录,并返回该目录
    62 #print mkdir("d:/ljq")
    63 #自动生成一个唯一的字符串,固定长度为36
    64 print unique_str()
    65 url="http://qlogo1.store.qq.com/qzone/416501600/416501600/100?0";
    66 save_file("D:/test/", "123.jpg", get_file(url))
  • 相关阅读:
    log4j 使用笔记整理中
    执行bat文件
    excel让每个单元格的宽度随着字体自动变动的两种方式(有更好方法的大神,请忽略,求评论下)
    XML中CDATA及其字符实体的使用
    Java文件读写操作指定编码方式。。。。。
    尾数为0零BigDecimal不能装成正常数
    jquery 自动补全控件(支持IE6)待整理
    $.ajax提交,后台接受到的值总是乱码?明天再总结
    js定义变量需赋予初始值
    存储过程的优缺点
  • 原文地址:https://www.cnblogs.com/xixihuang/p/5810501.html
Copyright © 2011-2022 走看看