Python网络爬虫获取Wallhaven壁纸图片(源码)

ops/2024/9/25 19:01:55/

**

话不多说,直接附源码,可运行!

**

在这里插入图片描述

python">import requests
from lxml import etree
from fake_useragent import UserAgent
import timeclass wallhaven(object):def __init__(self):# yellow# self.url = "https://wallhaven.cc/search?colors=cc6633&page={}"# girlself.url = "https://wallhaven.cc/search?q=girl&categories=111&purity=110&sorting=date_added&order=desc&ai_art_filter=0&page={}"ua = UserAgent()for i in range(1, 50):self.headers = {'User-Agent': ua.random,}def get_page(self, url):res = requests.get(url=url, headers=self.headers)html = res.content.decode("utf-8")return htmldef parse_page(self, html):parse_html = etree.HTML(html)image_src_list = parse_html.xpath('//figure//a/@href')print("当前图片Url列表:", image_src_list)for image_src in image_src_list:html1 = self.get_page(image_src)  # 二级页面发生请求parse_html1 = etree.HTML(html1)filename = parse_html1.xpath('//div[@class="scrollbox"]//img/@src')if filename is None:continuefor img in filename:dirname = "./images/other/" + img[32:]html2 = requests.get(url=img, headers=self.headers).contentwith open(dirname, 'wb') as f:f.write(html2)print(f"图片{filename}下载成功:")def main(self):startPage = 12endPage = 99for page in range(startPage, endPage + 1):print("获取当前页面图片,页码:", page)url = self.url.format(page)html = self.get_page(url)self.parse_page(html)time.sleep(1.4)if __name__ == '__main__':imageSpider = wallhaven()imageSpider.main()

http://www.ppmy.cn/ops/115903.html

相关文章

mysql批量修改表前缀

现有表前缀xh,批量修改为fax_需要怎么做 SELECTCONCAT(ALTER TABLE ,table_name, RENAME TO fax_,substring(table_name, 3),;) FROMinformation_schema. TABLES WHEREtable_name LIKE xh_%; 运行之后可以但是生成了一批修改表明的命令 此时批量复制执行就可实现批量修改表前…

江协科技STM32学习- P15 TIM输出比较

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

Apache Paimon基础讲解

1. Apache Paimon 简介 1.1 什么是Apache Paimon? Apache Paimon是一款高效的分布式数据存储与处理框架,旨在为大规模数据处理提供一个灵活且高性能的解决方案。它集成了实时流处理和批处理的优势,支持ACID事务、强一致性和高可用性&#x…

考研日语 - 高频核心 2200 词(五)

前言 单词均来自全国硕士研究生招生考试日语(科目代码:203)的词汇专项备考用书 《考研日语蓝宝书词汇专项》,书中从 7000 个考研大纲单词中精挑了 2236 个高频核心单词。 记录本文的目的就是没事儿时候拿出来看看,用…

【WPF】02 按钮控件圆角配置及状态切换

按钮圆角 先从工具箱里拖进来一个Button控件&#xff0c;然后对这个按钮进行美化。 首先在 xaml 里按钮控件部分 添加如下代码&#xff1a; <Button x:Name"btnLogin" Content"登录" HorizontalAlignment"Center" Margin"0,399,0,0&q…

LeetCode 22. 括号生成

LeetCode 22. 括号生成 数字 n 代表生成括号的对数&#xff0c;请你设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2&…

使用源代码编译R包的过程

R包的安装方式可以归纳为 源代码安装 和 二进制文件安装 两类&#xff1a; 源代码安装 是指从包的源代码进行编译安装。包括&#xff1a;① 通过CRAN安装源代码版本的包&#xff08;如果没有二进制版本&#xff0c;或者指定了安装源代码&#xff09;。② 从GitHub、Bioconducto…

Nacos 安全使用最佳实践 - 访问控制实践

Nacos不开启鉴权&暴露公网会导致风险 Nacos属于内网核心组件不建议暴露公网&#xff0c;在暴露公网情况下&#xff0c;如果不开启Nacos的鉴权能力&#xff08;访问控制&#xff09;或者 开启鉴权但使用默认密钥&#xff08;密码/token.secret.key/server.identity&#xf…