找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 19|回复: 0

[转载] 美图下载器aardio+python+webview

[复制链接]
  • TA的每日心情
    开心
    昨天 14:16
  • 签到天数: 65 天

    连续签到: 2 天

    [LV.6]常住居民II

    10

    主题

    67

    回帖

    838

    积分

    高级会员

    积分
    838
    来自: 中国福建泉州
    发表于 昨天 14:19 | 显示全部楼层 |阅读模式 来自: 中国福建泉州
    非业余 - aardio 编程语言 - 非官方问答社区 - 免责声明
    非业余(bbs.feiyeyu.com)所讨论的技术及相关工具源码,仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。非业余(bbs.feiyeyu.com)不承担任何因为技术滥用所产生的连带责任。非业余(bbs.feiyeyu.com)内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或QQ微信与我们联系处理。站长邮箱:my69@vip.qq.com
    本帖最后由 AdGame 于 2025-12-18 14:27 编辑

    美图下载器

    • 软件说明:下载美图,开源可以随意修改代码打包
    • 软件版本:0.0.0.11
    • 软件平台:Windows
    • 软件功能:下载图片

    更新


    V0.0.0.6[2023年11月3日]:
    • 优化图片加载速度和显示
    • 新增图片爬取
    • 优化图片加载与提示

    V0.0.0.9[2023年11月8日]:
    • 优化爬虫代码
    • 添加“图片搜索”功能

    V0.0.0.11[2023年12月16日]:
    • 优化图片显示

    使用

    • 单击鼠标左键可以查看图片
    • 单击鼠标右键可以下载图片
    • 单击软件内部右下角 搜索图标 打开搜索窗口,可搜索图片
    • 进入查看图片窗口,可以按住·Ctrl+鼠标滚轮·放大缩小查看图片
    • 图片下载目录为程序所在的同级目录下的download文件夹







    核心代码解析
    [AAuto] 纯文本查看 复制代码
    #下面是以前V0.0.0.4版本返回图片数据的函数,当时为了省力使用字符串拼接返回图片数据
    def getImgSrc(iNumber=1):
        iNumber=int(iNumber)
        url=cryptocode.decrypt('RPmitKoyxkGWT3rNdSIdllrKpBQkM2iXv4Gk*3fceH6rrhEDqRfiurc1k/g==*A/Ria0ZdrIKsY1wDa9zFJQ==*1ehaomVX+IvEYaQ4AtJtSQ==','bilibini')
        head={
            "User-Agent": UserAgent().random
        }
        res = requests.get(f"{url}/list-{iNumber}.html",headers=head,verify=False)
        soup = BeautifulSoup(res.text, 'html.parser')
        imgList=soup.select("article > div > div.zhuanti.whitebg.waterfall > ul > li > i > a > img")
        imgSrcList=[img.attrs['src'] for img in imgList]
        return '||'.join(imgSrcList)
     
    #下面是最新V0.0.0.6版本返回图片数据的函数,同时爬取该网站的PC与手机端的图片
    #使用字典存储单个图片数据,添加到数组中返回数据
    def getimgList_1(iNumber=2):
        iNumber=int(iNumber)+1
        imgjsonlist=[]
        try:
            def get(url):
                head={
                    "User-Agent": UserAgent().random
                }
                res = requests.get(url,headers=head,verify=False)
                res.encoding='gbk'
                soup = BeautifulSoup(res.text, 'html.parser')
                imgList=soup.select("#main > div.list > ul > li > a > img")
                imgDataList=[]
                for img in imgList:
                    imgData={
                        'url':'',
                        'smallurl':'',
                        'title':'小陆离 可爱女孩 可爱 护眼 一手托着下巴的美女壁纸'
                    }
                    imgData['smallurl']=img.attrs['src']
                    imgData['title']=img.attrs['alt']
                    imgData['url']=re.findall(r'(.*)small.*',img.attrs['src'])[0]+re.findall(r'.*small([0-9A-Za-z]{11}).*',img.attrs['src'])[0]+'.jpg'
                    imgDataList.append(imgData)
                return imgDataList
            url1=f'http://www.某某网站.com/meinv/index_{iNumber}.htm'
            url2=f'http://www.某某网站.com/shouji/meinv/index_{iNumber}.htm'
            imgjsonlist=get(url1)+get(url2)
        except:
            imgjsonlist=[{
                'url':'err.png',
                'smallurl':'err.png',
                'title':'数据加载错误'
            }]
        return imgjsonlist
    def getImgSrc(iNumber=1):
        iNumber=int(iNumber)
        imgDataList=getimgList_1(iNumber)
        random.shuffle(imgDataList)
        return imgDataList

    最新的爬取代码中可以包裹更多的信息:{图片原链接,缩略图链接,标题},加载时使用缩略图,优化图片加载的速度。
    其实不单只修改了爬虫部分,还修改了前段展示部分的代码,这里也简单提一下吧。
    主页图片使用loading="lazy",进行懒加载再一次变得顺滑一些。
    背景也单独加上z-index属性防止出现元素图层间闪动。
    图片查看页面由“electron”替换为“web.form”加快窗口创建速度。
    还有一些小修小改可以具体看项目代码。

    下载(与源码)

    已经打包好的程序,下载就可用(最新版本):https://wwf.lanzoul.com/iiRPh1i65hra
    开源地址:https://github.com/bilibini/Lovely_Image_Downloader
    https://swdk.lanzouu.com/i6YHz3dxb8fe
    https://swdk.lanzouu.com/i58pT3dxc93e

    非业余 - aardio 编程语言 - 非官方问答社区 - 免责声明
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2025-12-19 06:44 , Processed in 0.143466 second(s), 31 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表