wallhaven的热度壁纸爬取

  • 首先介绍一下wallhaven
  • 过程

首先介绍一下wallhaven

wallhaven这个壁纸网站是一个壁纸质量十分高的网站,最主要它还是一个免费的壁纸网站,于是突发奇想想去爬取一下里面的热度壁纸,在博客上看过许多大佬的作品,终于有一点思路,于是借鉴了这位大佬的成果。
大佬的博客链接:
https://blog.csdn.net/qq_29367075/article/details/111940621

过程

1.我们要开始爬虫,需要先设置一个headers,将我们书写的爬虫伪装成为浏览器,打开我们的网页,按下F12,按照如下步骤获取user-agent

2.第二步当然是获取需要爬取的网站网址,这里我们爬取的是wallhaven热度榜,网址如下:https://wallhaven.cc/toplist?page=1


3.使用request包获取网页图片缩略图的链接,获取链接我们使用正则,通过观察我们发现图片的缩略图都是在w/后面有6位字符,所以我们在使用正则进行匹配的时候可以这样:

        reg = r"""<a.*?href="(https://wallhaven.cc/w/......)".*?</a>"""reg = re.findall(reg, wall_txt)


4.之前我们获取的还只是我们想要获取图片的外衣,所以我们还需要使用request进行请求

我们不难发现这个图片的真实链接,这时候我们想要获取图片就简单的多,通过观察我们发现这个图片的链接和缩略图的链接是有关联的,(主要还是在大佬的博客中发现的),如图:

所以我们在获取图片的链接的时候可以先对缩略图的链接进行字符串的分割,之后在对分割后的最后一项进行切片,最后拼接起来就完成了图片链接的获取。
5.最后由于网页有翻页,所以我们在外面套上一个for循环,使其在吧当页的内容获取完成后可以继续获取下一页。完整代码在下面;

import timeimport requests
import re
for i in range(17, 127):Referer = 'https://wallhaven.cc/toplist?page='Referer_url = Referer + str(i)print(f"开始第{i}页")headers = {"Referer": 'https://wallhaven.cc/?','User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",'Accept-Language': 'en-US,en;q=0.8','Cache-Control': 'max-age=0','Connection': 'keep-alive'}  ###设置请求的头部,伪装成浏览器response = requests.get(headers=headers, url=Referer_url)if response.status_code == 200:wall_txt = response.textreg = r"""<a.*?href="(https://wallhaven.cc/w/......)".*?</a>"""reg = re.findall(reg, wall_txt)passfor j in reg:print(j)sp = j.split('/')last = sp[4]new_last = sp[4][0:2]image_url = 'https://w.wallhaven.cc/full/{}/wallhaven-{}.jpg'.format(new_last,            last)           res = requests.get(url=image_url, headers=headers)print(res, image_url)with open('D:/wallhaven/{}.jpg'.format(last), "wb") as f:f.write(res.content)tt = time.localtime()print(f'{tt[3]}时{tt[4]}分{tt[5]}秒')

wallhaven的热度壁纸爬取(入门级爬虫)——python相关推荐

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

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

  2. 多线程爬虫实战--彼岸图网壁纸爬取

    多线程爬虫实战–彼岸图网壁纸爬取 普通方法爬取 import requests from lxml import etree import os from urllib import requesth ...

  3. python 小说爬虫_Python实现的爬取小说爬虫功能示例

    本文实例讲述了Python实现的爬取小说爬虫功能.分享给大家供大家参考,具体如下: 想把顶点小说网上的一篇持续更新的小说下下来,就写了一个简单的爬虫,可以爬取爬取各个章节的内容,保存到txt文档中,支 ...

  4. Python之 - 使用Scrapy建立一个网站抓取器,网站爬取Scrapy爬虫教程

    Scrapy是一个用于爬行网站以及在数据挖掘.信息处理和历史档案等大量应用范围内抽取结构化数据的应用程序框架,广泛用于工业. 在本文中我们将建立一个从Hacker News爬取数据的爬虫,并将数据按我 ...

  5. requests+bs4批量爬取反爬虫图片网站

    导读:爬取反爬虫图片网站 预览效果 遇到的问题: 刚开始爬虫的时候,爬取到的所有图片都是一张重定向推广图片 解决办法:在requests请求头headers中配置Referer属性,指向爬取网站的顶级 ...

  6. python爬取小说功能实现_Python实现的爬取小说爬虫功能示例

    本文实例讲述了Python实现的爬取小说爬虫功能.分享给大家供大家参考,具体如下: 想把顶点小说网上的一篇持续更新的小说下下来,就写了一个简单的爬虫,可以爬取爬取各个章节的内容,保存到txt文档中,支 ...

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

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

  8. python爬取小说项目概述_Python实现的爬取小说爬虫功能示例

    Python实现的爬取小说爬虫功能示例 发布时间:2020-10-09 03:39:58 来源:脚本之家 阅读:64 作者:阳光Cherry梦 本文实例讲述了Python实现的爬取小说爬虫功能.分享给 ...

  9. 爬取妹子图(python):爬虫(bs+rq)+ gevent多线程

    爬取妹子图(python):爬虫(bs+rq)+ gevent多线程 简介 我观察爬取妹子图算是爬虫专业户必做的事情之一,所以我也做了一个,结果是有3.45GB,49847张图. 打算依靠这个图库做个 ...

最新文章

  1. php 限制刷新,PHP禁止频繁刷新方法
  2. 算法---------至少有K个重复字符的最长子串(Java版本)
  3. java中有几种内部类,Java中的四种内部类
  4. 使用AheadLib生成DLL劫持代码
  5. Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序(文末送书)
  6. jzoj4637-大鱼海棠【博弈论】
  7. 细说JDK动态代理的实现原理
  8. Nginx反向代理其他使用方式
  9. 中国公司又称雄国际AI大赛,IARPA人脸识别挑战赛依图夺冠
  10. Win11之C盘终极清理工具
  11. python bottle session-使用beaker让bottle支持session
  12. 虚拟环境mkvirtualenv
  13. extern作用详解
  14. 随手记_科研攻略_常犯错误
  15. 3.3 垃圾回收算法
  16. go语言-LiteIDE 安装及使用教程
  17. Android 自定义按钮button 加图片和两行文字
  18. 流程表结构设计第一版
  19. C#一年级100以内的加减训练
  20. 庖丁解牛山linux内核的析,# 庖丁解牛Linux内核分析笔记-1

热门文章

  1. 我的互联网价值观、方法论和个人实践(3)-衣食住行
  2. Cisco Packet Tracer v7.0 思科官方网络模拟器正式版
  3. python+django医院固定资产设备管理系统
  4. html+css复习(三)
  5. 锐捷交换机部署snooping+DAI功能
  6. 图解词嵌入、语言模型、Word2Vec
  7. ajax异步请求——form表单提交 及 表单序列化提交
  8. 绘画新手怎么画好结构素描
  9. excel查找引用函数
  10. PDFjs提取文件中的图片