bilibini 发表于 2023-10-20 22:00

【开源】美图下载器aardio+python+webview [2023年12月16日更新]

本帖最后由 bilibini 于 2023-12-16 22:06 编辑

美图下载器

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

更新

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

V0.0.0.9:

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


V0.0.0.11:

[*]优化图片显示

使用

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



核心代码解析
#下面是以前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

bilibini 发表于 2023-12-16 22:09

8xy252813 发表于 2023-12-7 08:13
好多图片的预览图提示加载错误,但点开能看到。

最新版修复了这个bug,可以试一下https://wwf.lanzoul.com/iiRPh1i65hra

bilibini 发表于 2023-10-21 10:03

w360 发表于 2023-10-21 09:56
为啥还安装软件啥情况

https://im.gurl.eu.org/file/5706d0681658e8f76d1b3.jpg
是安装这个软件吗,这个软件是微软的一个插件一般最新的系统会自动集成,如果系统没有的话会自动安装这个插件{:301_975:}

popdes 发表于 2023-10-21 03:11

赞,漂亮

dyx1008 发表于 2023-10-21 05:24

哈哈,眼有福了谢谢分享

醉乡不怕套路深 发表于 2023-10-21 06:39

感谢大佬分享

龍謹 发表于 2023-10-21 07:26

俺是冲着学习来的,绝对不是为了美图!!!

zjtzjt 发表于 2023-10-21 08:04

感谢分享,美女们我来啦

CEXO3574 发表于 2023-10-21 08:08

感谢大佬分享,收藏备用!

做个好梦 发表于 2023-10-21 08:54

没有搜索功能啊

只送两个头 发表于 2023-10-21 09:03

正不正经

hnwang 发表于 2023-10-21 09:28

感谢分享,必须学习下
页: [1] 2 3 4 5 6
查看完整版本: 【开源】美图下载器aardio+python+webview [2023年12月16日更新]