用Python爬取手机壁纸,太简单了吧!

人生苦短,快学Python!

在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的美图?

其中我们需要先利用Python中的request库和正则构建获取函数,以此爬取页面中的图片url。

最近有位同学分享他抓包获取到了小米壁纸api接口,那这样再去手机壁纸,可就太简单了!我们只需访问接口,再解析json数据,即可获取精准的壁纸图片url。

小米壁纸是什么,其实就是小米手机系统自带的app,包含了各种风格的手机壁纸。

提供接口的同学给的链接实在太长了,我试了试删去了不太影响主要作用的参数,剩下的接口如下所示:

https://thm.market.xiaomi.com/thm/****/type=WALLPAPER&tag=二次元宅

如果你使用浏览器打开该链接,就能得到10张壁纸图片的详细数据。其中参数cardStart控制翻页,调整参数tag选择不同的标签的壁纸图片。

剩下的只需调用Python下载图片到本地即可,具体代码如下所示。

def download_img(url, file_name):res = requests.get(url)img = open(file_name, 'wb')img.write(res.content)img.close()

简单解释一下,requests发起get请求拿到图片的信息。

open打开文件,以file_name(比如111.jpg)为文件名,wb代表以二进制覆盖写。

如果我们想**批量下载壁纸图片怎么办呢?**for循环就完事了呀!

在交互式环境中输入如下命令:

for i in range(1,20):url= f"https://thm.market.xiaomi.com/thm/*****/&cardStart={i}&type=WALLPAPER&tag=二次元宅"html = requests.get(url).contentdata = json.loads(html.decode('utf-8'))for j in range(10): # 一页10个image_url = data['apiData']['cards'][0]['products'][j]['imageUrl']name = data['apiData']['cards'][0]['products'][j]['name']print(name, image_url)image_name = f"./二次元宅/{name}.png"download_img(image_url, image_name)

在上述代码中,json.loads()函数是将json格式数据转换为字典。接着再搭配for循环获取某一页的10个image_urlname,其中name用于设置壁纸图片的本地路径+名称(使用相对路径下载到本地)。

最后调用前文中自定义的函数download_img(),将每一张壁纸图片都下载到二次元宅文件夹中。

打开本地路径下的二次元宅的文件夹,会发现所有的图片都已经被下载到本地。

是不是,太简单了吧!


如果有同学对代码感兴趣,可以私信我,通过好友后再回复“小米”即可获取全部代码。


最近我花了两年写的新书已经上市,也算是我在CSDN博客分享Python知识3年的一个总结!

《快学Python:自动化办公轻松实战》点击蓝字查看书籍详情

用Python爬取手机壁纸,太简单了吧相关推荐

  1. 用Python爬取手机壁纸,太简单了吧!

    人生苦短,快学Python! 在Python爬虫的学习过程中,爬取图片几乎是每个初学者都练习过的项目,比如我们之前就分享过:如何用Python快速爬取小姐姐的美图? 其中我们需要先利用Python中的 ...

  2. Python爬取手机壁纸

    小编就爬取知乎上面那些好看的手机壁纸吧,各式各样都有! 代码很简单 只有14行,只有14行,只有14行!重要的事情说三遍!!! from urllib import request #从urllib库 ...

  3. python代码手机壁纸_大神教你如何用Python爬取手机壁纸,就是这么为所欲为!

    随着智能手机的普及,使得人们生活便捷,不知各位小伙伴,给自己的手机设置的壁纸是什么样的呢?我觉得大家应该是去网上下载,或者去应用商店下载吧?这样做需要一个个的去浏览,十分浪费时间.因此我们需要一个便捷 ...

  4. 以某乎为实战案例,教你用Python爬取手机App数据

    1 前言 最近爬取的数据都是网页端,今天来教大家如何爬取手机端app数据(本文以ios苹果手机为例,其实安卓跟ios差不多)! 本文将以『某乎』为实战案例,手把手教你从配置到代码一步一步的爬取App数 ...

  5. 教你用Python爬取手机App数据!居然有人说爬不了APP

    最近爬取的数据都是网页端,今天来教大家如何爬取手机端app数据(本文以ios苹果手机为例,其实安卓跟ios差不多)! 本文将以『某乎』为实战案例,手把手教你从配置到代码一步一步的爬取App数据! 2. ...

  6. Python爬取wallhaven壁纸 2023.1.31

    Python爬取wallhaven壁纸 壁纸页面 前言 源码 壁纸页面 前言 学习中,未加多线程,由于网站.图片大小等因素导致下载缓慢 望各位大神提出建议并加以修善 网站主页及其爬取页如下,可自行修改 ...

  7. python爬取InterfaceLIFT壁纸,下载到本地,数据存入数据库(mysql,mongodb)

    github地址 欢迎star,欢迎拍砖 适用pythopn版本 Python 2.7 or Python 3.6 只在这两个版本之下测试过,正常运行 项目文件说明 main.py 主要文件 mysq ...

  8. Python爬取百度壁纸图片

    Python爬取百度壁纸图片 #! /usr/bin/python -- coding: utf-8 -- @Author : declan @Time : 2020/05/31 16:29 @Fil ...

  9. java手机壁纸_用java爬取手机壁纸

    ​​JFrame​​包,循环爬取图片然后下载图片 public class DownWallpaper extends JFrame implements ActionListener{ privat ...

最新文章

  1. gta5线上小助手_gta5线上助手(xiu改器)使用
  2. java7 的final真的有坑啊。
  3. java例子:九九乘法表
  4. Juypter 打开其他路径文件
  5. html(7)盒子模型
  6. vant在cell中加表格_Vant Cell 单元格
  7. 批量修改Project视图中Prefab的名字
  8. 8.26树状数组讲解
  9. c语言局域网聊天,局域网聊天的程序(C++版)
  10. OAF: 怎样创建 DFF
  11. ocpc php,研发相关 · 百度 oCPC 开发者文档
  12. ROG魔霸7Plus的CPU温度与 Armoury Crate 设置问题
  13. EventLoop(回顾)
  14. 海外直播、聊天交友APP的开发及上架GooglePlay体验【Compose版】
  15. 细细私语,看喜欢的书
  16. 购买服务器虚拟主机,购买服务器与虚拟主机
  17. 迅雷冻结3亿链克,停止国际版支持,这个区块链项目基本凉了
  18. 华益血糖信息管理系统服务器,华益精点推出新一代智能血糖仪
  19. 公司测试部门来了个00后卷王,老油条感叹真干不过,不过.....
  20. (附源码)计算机毕业设计SSM裕民镇养老院信息管理系统

热门文章

  1. Winter Camp I (下)
  2. Django serializers.serialize 的使用
  3. [附源码]Python计算机毕业设计动物保护资讯推荐网站
  4. 电子和计算机工程密歇根大学,美国密歇根大学电子和计算机工程系系主任:微纳传感器的未来畅想...
  5. 57闭环步进电机57闭环步进电机方案57步进电机42 自己做的闭环驱动器,驱动器是全新的
  6. 基于微信小程序的大学生心理测试+后台管理
  7. 怎样消除公司的信息孤岛
  8. 【题解】CQ大神原创的一道题
  9. js 比较日期(年月日、年月)的方法总结
  10. 河南出版团体召开宣扬工作会议