##爬虫爬取网页壁纸

在校生,最近学了学爬虫,自己尝试着写了一个关于爬网页壁纸的爬虫代码、话不多说,直接上代码
(这个网页的壁纸都是超好看和高清的,真的很不戳)

 #-*- codeing = uft-8 -*-
#@Time :2021/4/12 21:20
#@file : SpiderWallhaven.py
'''代码爬取的是"https://wallhaven.cc/toplist?page=1"网页
关于15行正则表达式解析的是每张图片的源地址,(不去解析图片的源地址将得到每张图片的缩略图
只有解析它们的源地址,开展以下的爬取工作就交给循环)
'''
import re,requests
count=0#计数
for tes in range(1,3,1):#爬取目标的页数,步长为1,本次实验为2页url = "https://wallhaven.cc/toplist?page=%d"%tes#page=?根据规律发现是从1迭代的,这里用占位符result = requests.get(url)#生成请求# print("Wallhaven响应码:",result.status_code)#这里查看的是你访问每一页的状态码,200表正常response = re.compile('class="preview" href="(.*?)"')#正则表达式去解析图片源地址ress = re.findall(response, result.text)#图片地址# print(ress)list = []#创建一个列表num = 0#计数,可查看一页有多少图片和连接for i in ress:#利用for循环将ress中的连接遍历出来# print("第%d个连接:%s"%(num,i),end="\n")#利用循环输出可知这一页有23个连接和对应的图片num += 1list.append(i)#把遍历出来的i储存在list中for ll in range(0, 24, 1):#furl = requests.get(list[ll])srcad = re.compile('id="wallpaper" src="(.*?)"', re.S)#正则表达式解析每个网页的图片信息resultd = re.findall(srcad, furl.text)for i in resultd:resld = requests.get(i)with open('Wallhaven/%d.jpg' % count, 'wb') as f:f.write(resld.content)print("Have downloaded %d 张..."%count)count += 1


可能写的比较繁琐,代码旁边的注释可能表达的意思不太好,希望大家可以看懂,可以找出其中的错误和我交流。
其实用def()函数写会简略很多

《爬虫爬 wallhaven.cc壁纸》相关推荐

  1. ComeFuture英伽学院——2020年 全国大学生英语竞赛【C类初赛真题解析】(持续更新)

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  2. ComeFuture英伽学院——2019年 全国大学生英语竞赛【C类初赛真题解析】大小作文——详细解析

    视频:ComeFuture英伽学院--2019年 全国大学生英语竞赛[C类初赛真题解析]大小作文--详细解析 课件:[课件]2019年大学生英语竞赛C类初赛.pdf 视频:2020年全国大学生英语竞赛 ...

  3. 信息学奥赛真题解析(玩具谜题)

    玩具谜题(2016年信息学奥赛提高组真题) 题目描述 小南有一套可爱的玩具小人, 它们各有不同的职业.有一天, 这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的 ...

  4. 信息学奥赛之初赛 第1轮 讲解(01-08课)

    信息学奥赛之初赛讲解 01 计算机概述 系统基本结构 信息学奥赛之初赛讲解 01 计算机概述 系统基本结构_哔哩哔哩_bilibili 信息学奥赛之初赛讲解 02 软件系统 计算机语言 进制转换 信息 ...

  5. 信息学奥赛一本通习题答案(五)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  6. 信息学奥赛一本通习题答案(三)

    最近在给小学生做C++的入门培训,用的教程是信息学奥赛一本通,刷题网址 http://ybt.ssoier.cn:8088/index.php 现将部分习题的答案放在博客上,希望能给其他有需要的人带来 ...

  7. 信息学奥赛一本通 提高篇 第六部分 数学基础 相关的真题

    第1章   快速幂 1875:[13NOIP提高组]转圈游戏 信息学奥赛一本通(C++版)在线评测系统 第2 章  素数 第 3 章  约数 第 4 章  同余问题 第 5 章  矩阵乘法 第 6 章 ...

  8. 信息学奥赛一本通题目代码(非题库)

    为了完善自己学c++,很多人都去读相关文献,就比如<信息学奥赛一本通>,可又对题目无从下手,从今天开始,我将把书上的题目一 一的解析下来,可以做参考,如果有错,可以告诉我,将在下次解析里重 ...

  9. 信息学奥赛一本通(C++版) 刷题 记录

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 刷题 记录 http://ybt.ssoier. ...

  10. 最近公共祖先三种算法详解 + 模板题 建议新手收藏 例题: 信息学奥赛一本通 祖孙询问 距离

    首先什么是最近公共祖先?? 如图:红色节点的祖先为红色的1, 2, 3. 绿色节点的祖先为绿色的1, 2, 3, 4. 他们的最近公共祖先即他们最先相交的地方,如在上图中黄色的点就是他们的最近公共祖先 ...

最新文章

  1. 从*p++说指针,数组,结构和函数
  2. Linux查看CPU和内存使用情况详解
  3. springboot源码分析 - AbstractRoutingDataSource多数据源方案的分析
  4. sql server:查詢系統表
  5. stylish和Tampermonkey样式及脚本
  6. MacOS如何设置不使用时退出登录用户账号
  7. python读配置文件转字典_python中读取配置文件的方式
  8. ubuntu 常用配置
  9. sunlight的中文_Diana Vickers的Sunlight中文歌词。
  10. c语言二进制转十六进制代码,C语言--二进制转十六进制
  11. LeetCode||颜色分类--给定一个包含红色、白色和蓝色,一共 *n* 个元素的数组,**原地**对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。
  12. 堆中的off-by-one :ASIS CTF 2016:b00ks
  13. Day17——整数矩阵及其运算
  14. 活出生命的意义-读后感
  15. 机器学习系列4 使用Python创建Scikit-Learn回归模型
  16. uva 10285 - Longest Run on a Snowboard(dp+记忆化搜索)
  17. 【云计算】1_云计算基础介绍
  18. html图片的边框属性,css3图片边框border-image的用法
  19. 读SQL进阶教程笔记14_SQL编程要点
  20. 微服务高性能高可用架构设计

热门文章

  1. Python+大数据-知行教育(一)-环境搭建 数据仓库
  2. 圆桌实录:技术无感化成为 2023 年最值得开发者和企业用户关注的技术趋势丨PingCAP DevCon 2022
  3. 实现按钮的长按监听(聂同学的作业)
  4. 深圳农家乐凤凰山田中园团建拓展野炊做饭基地
  5. 2020牛客暑期多校训练营Enigmatic Partition(数学,二阶隔项差分)
  6. Excel VBA MD5 加密 16位 32位
  7. 用计算机测出人家的信息,NCAE 信息化办公模拟题 含答案
  8. PHP导出Excel文件时导出列的数字长度太长时显示不完整或者乱码显示
  9. 递归方法求最大公约数,求最小公倍数
  10. 常见的5种网站页面布局方式及特点分析