今天我们要爬取的是动漫壁纸图片,来看今天的主角:

在浏览的时候,当滑到底部时,壁纸会刷新加载,所以我们可以知道,壁纸是动态加载的。

打开开发者模式,观察HTML的动态变化。

点击NetWork,XHR,我们就可以发现,

图片地址是通过JSON数据传输过来的,所以,我们不就知道了每张壁纸对应的url了吗O(∩_∩)O

找到对应数据接口,开始代码的干活!

通过输入指定页数,遍历循环:

import requests
import jsonpath
import json
import ospage = input("请输入需要下载的页数:")
if not os.path.exists('img'):os.mkdir('img')for i in range(int(page)):num = 1url = f'https://rt.huashi6.com/front/index/load_pc_data?_ts_=1634131862878&cursor=' + str(i) + '-1634130800452'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0'}path = f'img\\第{i+1}页'if not os.path.exists(path):os.mkdir(path)else:print(path + '已存在')continuehtml = requests.get(url, headers=headers).content.decode("utf-8")data = json.loads(html)img = jsonpath.jsonpath(data, '$..path')print(f"开始下载第{i+1}页...")for j in img:with open(path+ '\\' + str(num) + os.path.splitext(j)[1], 'wb') as f:print(f"第{i+1}页  正在下载第{num}张...")f.write(requests.get('https://img2.huashi6.com/' + j, headers=headers).content)num += 1

三十行代码不到,就可以搞定啦
代码运行:

结果:

额,突然发现,第一页和第二页是一样的, ̄□ ̄||

不慌,我们可以选择过滤掉第一页

把代码for i in range(int(page))

改成for i in range(1,int(page)+1)

再把后面三个地方的 i+1 改成 i 即可(〃‘▽’〃)

注:如果有对Json和JsonPath模块不懂的,可以点击下面链接查看:
Python | JSON 数据解析(Json & JsonPath)

最后,附上几张超可爱的壁纸

Python | P站壁纸爬取相关推荐

  1. Python《wallhaven壁纸爬取》

    今天不小心又发现了壁纸网站,感觉壁纸很多啊,多?我就忍不住了.爬一下咯. 我们今天爬取 网站是https://wallhaven.cc/. 先来分析分析: 进入首页:我们先去找标签,果然有个大标签地址 ...

  2. Python爬虫实例 wallhaven网站高清壁纸爬取。

    文章目录 Python爬虫实例 wallhaven网站高清壁纸爬取 一.数据请求 1.分析网页源码 2.全网页获取 二.数据处理 1.提取原图所在网页链接 2.获取高清图片地址及title 三.下载图 ...

  3. 【Python爬虫实战】爬取5K分辨率超清唯美小姐姐壁纸

    目录 简介 使用教程 编写思路 演示图片 全部代码 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审 ...

  4. 【python日常学习】爬取4K桌面壁纸

    [python日常学习]爬取4K桌面壁纸 这个网站都是4K的桌面壁纸. 不多说,直接上代码 import re import requests import osdef get_page():page ...

  5. Python必应壁纸爬取系列(二):Bing唯美壁纸太多不知道选哪个?Python五行代码随机帮你挑选必应唯美屏保壁纸图片

    上一篇文章我们讲述了如何爬取必应的当天壁纸,那么今天我们就来实现如何写出一个随机必应壁纸或区域的程序.有了这个程序,我们就可以按照自己的喜好添加自己喜欢的文件并且下载了 五行代码实现程序效果图 文章目 ...

  6. python爬虫:Selenium爬取B站视频标题、播放量、发布时间

    上次尝试了利用Ajax机制爬取B站视频播放量等数据(链接在下方),但是发现响应的JSON数据中没有发布时间的数据,这次决定用Selenium试一下. python爬虫:Ajax爬取B站视频标题.播放量 ...

  7. Python零基础之爬取王者荣耀官方网站高清壁纸(普通版)

    Python零基础之爬取王者荣耀官方网站高清壁纸 目标: 分析过程: 1. 确定目标url 2. 解决url解析问题 3. 图片下载解析 4. 多页面的处理 代码示例 需要注意的问题: 目标: 1.下 ...

  8. wallhaven的热度壁纸爬取(入门级爬虫)——python

    wallhaven的热度壁纸爬取 首先介绍一下wallhaven 过程 首先介绍一下wallhaven wallhaven这个壁纸网站是一个壁纸质量十分高的网站,最主要它还是一个免费的壁纸网站,于是突 ...

  9. quotes 整站数据爬取存mongo

    安装完成scrapy后爬取部分信息已经不能满足躁动的心了,那么试试http://quotes.toscrape.com/整站数据爬取 第一部分 项目创建 1.进入到存储项目的文件夹,执行指令 scra ...

最新文章

  1. Fiddler保存http请求 常用sprirct
  2. boost::heap模块实现可变堆的测试程序
  3. windows下面怎么github ssh 公钥,然后克隆项目
  4. AxWebBrowser打开本地文件
  5. 拓端tecdat|R语言广义相加(加性)模型(GAMs)与光滑函数可视化
  6. SHELL递归遍历文件夹下所有文件
  7. CE教程第八步之多级指针
  8. lisp 图层字体式样替换_ps将不同图层字体修改成相同字体的方法
  9. windows 全系列电脑加速,告别电脑“卡”的时代
  10. 《红楼梦》香的祭祀文化
  11. App开屏页如何设计?来看这五个常用的方法
  12. 逆水寒捏脸服务器维护,《逆水寒》优化热门服务器排队体验 捏脸颜值评分机制优化...
  13. unity中怎么让物体位置复位_(转)Unity3D中移动物体位置的几种方法
  14. 云服务器测速脚本_服务器测速命令
  15. 基于单片机射频RFID卡公司考勤控制系统设计(毕设课设资料)
  16. SQL-基础学习1--SELECT,LIMIT,DISTINCT,注释
  17. vue 中的计算属性
  18. 欢迎观看Toni_hou的#生活#2
  19. 【渝粤教育】电大中专计算机职业素养 (5)作业 题库
  20. ASEMI线性稳压器78M05的电路图,78M05有什么应用

热门文章

  1. 2021计算机学校分数,泰州市博日电脑技术学校2021年招生录取分数线
  2. 钢琴 低音到高音 音效_什么是低音扬声器,中音扬声器和高音扬声器?
  3. 美化滚动条的一个插件 vue3-perfect-scrollbar
  4. 关于大学中软件工程课程的开设问题——不要把实践性科学当作理论性学科来教授...
  5. 跟我学RocketMQ之批量消息发送源码解析
  6. 未来影像!华为P30国行版售价曝光:徕卡四摄+超级变焦,3988元起
  7. 一个简单的朋友圈单张或多张图片展示的思路
  8. 海量文件、超大文件,如何实现高速传输?
  9. 高防IP具备哪些优势?
  10. 苹果应用审核及相关问题解决方法