当前位置: 首页 > news >正文

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

**

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

**

在这里插入图片描述

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.lryc.cn/news/446002.html

相关文章:

  • 智能化引领等保测评新时代:AI与大数据的深度融合
  • 深入解析:HTTP 和 HTTPS 的区别
  • 《动手学深度学习》笔记1.11——实战Kaggle比赛:预测房价+详细代码讲解
  • 数据结构:单链表实现信息管理
  • 【Linux】解锁文件描述符奥秘,高效缓存区的实战技巧
  • EmguCV学习笔记 VB.Net 11.9 姿势识别 OpenPose
  • 2024.9.26 Spark学习
  • 我与Linux的爱恋:进程地址空间
  • C++的哲学思想
  • IO(输入输出流)
  • python爬虫:从12306网站获取火车站信息
  • Android个性名片界面的设计——约束布局的应用
  • Python 课程18-SQLAlchemy
  • Module did not self-register: ‘drivelist.node‘报错解决
  • zabbix基本概念与组件
  • Linux常用网络工具及示例
  • Go容器化微服务系统实战
  • 研究生三年概括
  • MongoDB在Linux系统中的安装与配置指南
  • Linux下如何实现不用加路径调用启动脚本
  • 编程练习2 数据单元的变量替换
  • mysql的查询操作
  • 0基础学前端 day2
  • Invalid Executable The executable contains bitcode
  • 音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件
  • Java服务端开发中的网络安全:防护DDoS与数据泄露的策略
  • CodeMeter 8.20AxProtector 11.50版本更新
  • C语言在嵌入式系统中的应用有哪些?
  • Android 系统WIFI AP模式
  • java jdk8内存序列化为xml