Python实现壁纸批量下载

最近想要一些新的壁纸,但是从网站上面找一张一张下载太慢了,所以写了个爬虫批量下载壁纸。
先看看实现的效果

需要的包:
requests、bs4 、os、re

源码:

# @Time : 2021/09/02 15:50
# @Author : LuYonghaoimport requests
from bs4 import BeautifulSoup
import os
import reclass wallpaper:def __init__(self):self.typelist = []self.urllist = []self.root = ''def gethtmlurl(self, url):try:r = requests.get(url)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""def getpic(self, html):soup = BeautifulSoup(html, 'html.parser')all_img = soup.find("div", class_="contlistw mtw").find_all("img")for img in all_img:src = img['lazysrc']img_url = src.split(".278")[0]alt = img_url.split("/")[-1]print(img_url)print(alt)path = self.root + alttry:  # 创建或判断路径图片是否存在并下载if not os.path.exists(self.root):os.mkdir(self.root)if not os.path.exists(path):r = requests.get(img_url)print(path)with open(path, 'wb') as f:f.write(r.content)f.close()print("[+]文件保存成功")else:print("[-]文件已存在")except Exception as e:print("[-]爬取失败{}".format(e))def gettype(self, html):soup = BeautifulSoup(html, 'html.parser')all_type = soup.find("div", class_="cl r").find_all("a")for data in all_type:url = data["href"]type = re.findall(r'"catnametit">(.*?)<', str(data))[0]number = re.findall(r'"cl">\((.*?)\)', str(data))[0]self.typelist.append(type + number)self.urllist.append(url)for i, element in enumerate(self.typelist):print(i, element)try:a = input("请输入分类编号:")self.root = input("请输入文件存储路径:")self.downpic(a)except:print("[+]退出程序")def getpage(self, html):soup = BeautifulSoup(html, 'html.parser')all_pages = soup.find("div", id="pageNum")for page in all_pages:numlist = re.findall(r'html">(.*?)<', str(page))return numlist[-2]def downpic(self, typeindex):typeurl = self.urllist[int(typeindex)]html = self.gethtmlurl(typeurl)numpages = self.getpage(html)for i in range(1, int(numpages)):url = "{}/index_{}.html".format(typeurl, i)pichtml = (self.gethtmlurl(url))self.getpic(pichtml)def main():url = "https://desk.3gbizhi.com"html = wallpaper().gethtmlurl(url)wallpaper().gettype(html)if __name__ == '__main__':main()

运行方式:

Python实现壁纸批量下载相关推荐

  1. python代码壁纸-python实现壁纸批量下载代码实例

    前言 好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python.这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载某壁纸网站的高清壁纸. 注意:本文所属项目仅用 ...

  2. Python爬虫 - wallhaven任意页面下的壁纸批量下载

    基于Python 任意页面下的壁纸批量下载 github Maxpagenum 爬取页数 fpath 保存路径 url 基础地址 import requests import re import ti ...

  3. 使用python实现高清壁纸批量下载

    一.高清壁纸批量下载 1.概述 此代码是使用python多线程批量下载高清壁纸的一个小脚本,代码略为简陋. 此代码仅供学习与交流,请不要用于违法用途. import requests from lxm ...

  4. python爬虫实现批量下载百度图片

    今天和小伙伴们合作一个小项目,需要用到景点图片作为数据源,在百度上搜索了一些图片,感觉一个一个手动保存太过麻烦,于是想到用爬虫来下载图片. 本次代码用到了下列一些python模块,需要预先安装Beau ...

  5. 利用Python编写脚本批量下载公众号中的音频

    欢迎大家光临我的博客,大家一起交流学习哦 陈京九的博客 首先声明我只是一个小菜鸡,把自己琢磨一些功能的过程发到了这里当做记录,希望大神们轻喷,能给我一些指导就更好啦~ 上一篇博客教大家下载了公众号中的 ...

  6. python上市公司_Python批量下载上交所上市公司报告

    上交所的上市公司报告搜索页面http://www.sse.com.cn/disclosure/listedinfo/announcement/ 通过查看页面调用的接口可以发现: 获取上交所全部股票代码 ...

  7. python爬虫+ffmpeg批量下载ts文件,解密合并成mp4

    标题 python爬虫+ffmpeg批量下载ts文件,解密合并成mp4 文章目录 标题 前言 一.分析目标 二.寻找url规律 三.写代码 总结 前言 (第一次写博客,写的不好请见谅哈~~) 目标是大 ...

  8. python代码壁纸-70行python代码实现壁纸批量下载

    前言 好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python.这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载某壁纸网站的高清壁纸. 注意:本文所属项目仅用 ...

  9. wallpaper代码_70 行 python 代码实现壁纸批量下载!

    好久没有写文章了,因为最近都在适应新的岗位,以及利用闲暇时间学习python.这篇文章是最近的一个python学习阶段性总结,开发了一个爬虫批量下载某壁纸网站的高清壁纸. 注意:本文所属项目仅用于py ...

最新文章

  1. 阿里云有史以来最大的一次优惠,爆款限时抢,至少省10000+
  2. 请讲一下浏览器从接收到一个URL,到最后展示出页面,经历了哪些过程
  3. matlab逆变换法产生随机数_matlab中产生随机数的程序
  4. css盒模型中子元素垂直方向上总高度与父元素height的关系
  5. 计算机软件 教案,计算机软件系统教案
  6. Java:如何在不到5分钟的时间内通过Hazelcast提高生产力
  7. CSS 与 HTML5 响应式图片
  8. OFFICE EXCEL表格中让A1 中的数字为变量时,如何引用
  9. 2016 版 Laravel 系列入门教程(三)【最适合中国人的 Laravel 教程】
  10. 面向对象封装的web服务器
  11. sql server 运维时CPU,内存,操作系统等信息查询(用sql语句)
  12. pycharm如何上传代码到github
  13. IP地址是如何分配的
  14. DLL注入——使用注册表
  15. c语言 音符符号大全,音符符号大全
  16. 工作缺点和不足及措施_个人工作缺点和不足
  17. 武书连2022中国大学综合实力排行榜发布!
  18. linux网卡流量查询sar,Linux 查看实时网卡流量的方法 sar nload iftop
  19. 我的【藏羚头条】开发运营经验
  20. 企业微信可以自动回复吗?

热门文章

  1. RTB 广告投放流程详解
  2. uniapp实现附有二维码的图片的本地保存
  3. 计算机视觉基础-图像处理-几何变换
  4. 情感分析的一些专业术语
  5. Ophir Vega激光功率计
  6. SQLsever数据库实例是啥子
  7. IOS客户端面试总结
  8. 猫猫学IOS(十八)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复
  9. 妹子说我没有表情包?没关系通过python爬虫爬取表情
  10. 杭电OJ——第1000,1001题