人生苦短,快学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(),将每一张壁纸图片都下载到二次元宅文件夹中。

▲下载代码运行

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

是不是,太简单了吧!

用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. 300道Python面试题,备战春招!
  2. position: relative;导致页面卡顿
  3. P1244 青蛙过河
  4. 打卡小程序源码修复登录接口
  5. java多因子认证,Milvus 实战|生物多因子认证系列 (二):人脸识别
  6. Asp.net 2.0生命周期
  7. ncurses窗口机制:wprintw(), wrefresh()
  8. Monostate模式
  9. 【气动学】基于matlab GUI弹道仿真【含Matlab源码 1136期】
  10. 四叶草配置工具Clover Configurator for Mac
  11. Ubuntu虚拟机镜像下载及创建
  12. 设计模式(四):模板方法模式、迭代器和组合模式、状态模式
  13. 基于python的咖啡数据集分析
  14. C++笔记 蒙特卡罗计算π值
  15. 设计方法(原型法、敏捷开发)
  16. Java有参构造和无参构造
  17. signature=cfd49330e04062ab770d7ddb4cfcf23a,Przed pierwszym rozbiorem Polski
  18. 勒索软件Snatch攻击原理分析
  19. 宽带显示服务器未启动,解决访问网上邻居出现“网络不存在或尚未启动”故障...
  20. Flash 特效原理:图片平面墙

热门文章

  1. 前端开发语言有哪些?需要掌握什么?
  2. IO流技术【Properties类介绍、文件切割与合并】
  3. JavaScript异步Promise
  4. github创建新分支,并上传代码
  5. Unix 下压缩和解压缩命令
  6. Python库大全汇总
  7. 如何在Camtasia中对录制视频进行字幕编辑
  8. pc端 下载图片到本地 兼容IE
  9. H3C与华为--不应错过的专业常识
  10. C语言学习 计算个人所得税