栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用python搜集壁纸

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用python搜集壁纸

使用python搜集壁纸

刚好最近在研究学习python,由于兴趣爱好,自己整了一个小小的壁纸收集器!

  • 此软件的壁纸均来自于全球第一的壁纸网站wallhaven;

  • 壁纸搜集目前只有wallhaven 中的toplist 壁纸(排行榜中的壁纸);

  • 在wallpaper.exe文件路径下,创建一个wallpaper的文件夹;

  • 软件是免安装版的,解压、双击运行wallpaper.exe 即可;

1、python代码:
'''
python 壁纸搜集
'''
#导入相关包
import requests
from bs4 import BeautifulSoup
import time
import socket
socket.setdefaulttimeout(500)

#定义几个函数,方便调用
def main():
    while True:
        menu()
        try:
            choice=int(input('请选择:'))
        except:
            print('输入错误,请重新输入!')
            continue
        if choice in range(2):
            if choice == 0:
                answer=input('你确定要退出 wallpaper 搜集系统吗?y/nt')
                if answer=='y' or answer=='Y':
                    print('感谢使用!!!')
                    break   #退出系统
                else:
                    continue
            elif choice == 1:
                wallpaper()   #图片搜集
        else:
            print('提示:请重新输入!!!')

def menu():
    print("                    欢迎使用 wallpaper 搜集系统                      ")
    print('---------------------------1、下载图片------------------------------')
    print('---------------------------0、退出系统------------------------------')

def wallpaper():
    num = int(input('请输入您想获取第几页图片(一页20张):'))
    for i in range(num,num+1):
        url = f"https://wallhaven.cc/toplist?page={i}"
        headers={
            "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36"
        }

        resp = requests.get(url,headers=headers)
        # print(resp.text)
        main_page = BeautifulSoup(resp.text,"html.parser")
        alist = main_page.find("div",class_="thumbs-container thumb-listing infinite-scroll").find_all("a",class_="preview")
        # print(alist)
        for a in alist:
            href = a.get("href")
            # 拿到子页面代码
            headers = {
                "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36"
            }
            sub_page_resp = requests.get(href,headers=headers)
            sub_page_text = sub_page_resp.text
            sub_page = BeautifulSoup(sub_page_text,"html.parser")
            div = sub_page.find("div",class_="scrollbox")
            img = div.find("img")
            src = img.get("src")
            # print(src)
            #下载图片
            img_resp = requests.get(src)
            # img_resp.content    #这里拿到的是字节
            img_name = src.split("/")[-1]   #拿到url 中的最后一个 / 以后的的内容
            with open(f"wallpaper/"+img_name,mode="wb") as wfile:
                wfile.write(img_resp.content)    #图片内容写入文件,相当于下载图片了

            print("over!!!",img_name)
            time.sleep(1)
        print("---------------------------------------")
    print("over!!!")

if __name__ == '__main__':
    main()
2、打包代码,构建成 .exe的执行文件:
#打包代码,下面的路径填自己代码文件所在的路径
pyinstaller -F D:studypythonpycodetestwallpaper.py

#打包好后,可以在代码目录的dist文件中看到一个 .exe结尾的文件
wallpaper.exe
#接下来双击运行即可
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1009353.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号