zoukankan      html  css  js  c++  java
  • python2的代码从吉卜力网页上下载高清图片

    python2

    + 修改基础存储路径

    + 给map里面添加源url和存储文件夹,k-v对。

    # -*- coding: utf-8 -*-
    import re
    import urllib
    import urllib2
    import os
    
    
    # 抓取网页图片
    # 根据给定的网址来获取网页详细信息,得到的html就是网页的源代码
    def getHtml(url):
        page = urllib.urlopen(url)
        html = page.read()
        return html
    
    
    def saveImages(imglist, storeFilePath):
        number = 1
        for imageURL in imglist:
            splitPath = imageURL.split('//')
            wwwUrl = splitPath.pop()
            splitPath2 = wwwUrl.split('/')
            picName = splitPath2.pop()
            fileName = storeFilePath + picName
            
            # 对于每张图片地址,进行保存
            try:
                u = urllib2.urlopen(imageURL)
                data = u.read()
                f = open(fileName, 'wb+')
                f.write(data)
                print '正在保存的一张图片:', fileName
                f.close()
            except urllib2.URLError as e:
                print(e.reason)
            number += 1
        # 获取网页中所有图片的地址
    
    
    def getAllImg(html):
        # 利用正则表达式把源代码中的图片地址过滤出来
        reg = r'href="(.+?.jpg)"'
        # https://www.ghibli.jp/gallery/thumb-laputa001.png
        imgre = re.compile(reg)
        imglist = imgre.findall(html)  # 表示在整个网页中过滤出所有图片的地址,放在imglist中
        return imglist
    
    
    # 创建本地保存文件夹,并下载保存图片
    if __name__ == '__main__':
        
        baseFilePath = '/Users/shaopengyang/pic/'
        map = { "https://www.ghibli.jp/works/umi/#frame":'umi',
                "https://www.ghibli.jp/works/majo/#frame":'majo',
                "https://www.ghibli.jp/works/howl/#frame":'howl'}
        for url, filePath in map.items():
            html = getHtml(url)
            imgList = getAllImg(html)
            # 判断存储路径是否存在
            isExists = os.path.exists(baseFilePath + filePath + '/')
            if not isExists:
                os.makedirs(baseFilePath + filePath + '/')
            
            saveImages(imgList, baseFilePath + filePath + '/')
    

      

  • 相关阅读:
    【转】【金蝶K3Cloud】 分页账表
    【转】【金蝶K3Cloud】 树形账表
    【金蝶K3Cloud】Python拼接字段
    性能分析及调优
    性能测试指南
    性能测试--测试指标
    性能测试--术语解释
    BurpSuite 安装使用
    BeEF 安装使用
    win10与vmware 中的kali linux 共享文件夹
  • 原文地址:https://www.cnblogs.com/yspworld/p/14324144.html
Copyright © 2011-2022 走看看