AdGame 发表于 5 天前

美图下载器aardio+python+webview

本帖最后由 AdGame 于 2025-12-18 14:27 编辑

美图下载器

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

更新

V0.0.0.6:
[*]优化图片加载速度和显示
[*]新增图片爬取
[*]优化图片加载与提示

V0.0.0.9:

[*]优化爬虫代码
[*]添加“图片搜索”功能

V0.0.0.11:

[*]优化图片显示

使用

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

https://attach.52pojie.cn/forum/202311/08/104055w3q23moo2ofmqwyi.jpg

https://attach.52pojie.cn/forum/202311/08/103743tz6nwnqmr6nyt6z3.jpg

https://attach.52pojie.cn/forum/202311/04/083539sjhhhd2m572j757r.jpg

核心代码解析
#下面是以前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= 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'])+re.findall(r'.*small({11}).*',img.attrs['src'])+'.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

页: [1]
查看完整版本: 美图下载器aardio+python+webview