python爬取精美壁纸

news/2024/11/29 3:46:15/

目标网址为Top Wallpapers - wallhaven.cc

 ​​​​F12检查网页元素,点击网络(Network),刷新页面,之后找到Name的第一个toplist?page=,点击标头(Headers),找到user-agent。

 headers如下:

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36'
}

开始运行爬虫程序,保存壁纸(保存的壁纸在当前文件夹): 

爬取到的结果如下:

整体代码如下:

# 导入所需库
import requests
from lxml import etree
import os
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36'
}def get_html_info(page):url = f'https://wallhaven.cc/toplist?page={page}'resp = requests.get(url,headers=headers)resp_html = etree.HTML(resp.text)return resp_htmldef get_pic(resp_html):pic_url_list = []lis = resp_html.xpath('//*[@id="thumbs"]/section[1]/ul/li')for li in lis:pic_url = li.xpath('./figure/a/@href')[0]pic_url_list.append(pic_url)for pic_url in pic_url_list:resp2 = requests.get(pic_url,headers=headers)r_html2 = etree.HTML(resp2.text)'//*[@id="thumbs"]/section[1]/ul/li[2]/figure/a'pic_size = r_html2.xpath('//*[@id="showcase-sidebar"]/div/div[1]/h3/text()')[0]final_url = r_html2.xpath('//*[@id="wallpaper"]/@src')[0]pic = requests.get(url=final_url,headers=headers).contentif not os.path.exists('Wallhaven'):os.mkdir('Wallhaven')with open('Wallhaven\\' + pic_size +final_url[-10:],mode='wb') as f:f.write(pic) # 保存图片的函数print(pic_size + final_url[-10:]+',下载完毕,已下载{}张壁纸'.format(len(os.listdir('Wallhaven'))))def main():page_range = range(1,10) # 爬取1-5页的壁纸  (可以自己设置需要爬取的页面数量)for i in page_range:r = get_html_info(i)get_pic(r)print(f'===============第{i}页下载完毕=============')
if __name__ == '__main__':main()

http://www.ppmy.cn/news/246597.html

相关文章

python:下载精美壁纸--学习笔记

个人学习记录 一、效果展示 这里贴一个还不错的某壁纸网:Wallpaper Abyss - HD Wallpapers, Background Images 下载的结果展示: 下载进度展示: 二、完整代码 代码中给定了部分注释 import os import re import urllib.request from con…

如何保存 Windows 10「聚焦」功能的精美壁纸-------附带python脚本

文章目录 1 直接复制2 执行py脚本 使用windwos电脑发现锁屏时的背景图片很漂亮,但是想保存怎么办?没有按钮,于是自己写了一个脚本方便自己。 1 直接复制 进入文件夹【Admin改为自己的用户名】,然后复制出来,把文件后缀…

python制作日历并保存成excel_Python+Excel制作精美壁纸日历,任意DIY

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 以下文章来源于Python实用宝典 ,作者Python实用宝典 给自己10分钟(滑稽),python回你一个智慧与美貌并存的备忘小神器 相信它会给…

Ubuntu下载精美壁纸

网址:http://www.omgubuntu.co.uk/2013/08/ubuntu-13-10-winning-wallpapers-revealed 打开网页,选择Download Ubuntu 13.10 Wallpaper 将deb文件保存在某一目录,默认保存在~/Downloads ubuntu-wallpapers-saucy_13.04.013.10.20130823-0ub…

一种用于Linux 自动更换精美壁纸的方法

本文介绍一种使用脚本自动获取 Unsplsh 精美图片并设置为桌面的方法,最终效果为命令行使用一条指令达到上述效果。理论上说,本文原理可用于所有 Gnome 桌面环境的 Linux 发行版。 GNOME(/ɡˈnoʊm/或/ˈnoʊm/)是一个完全由自由软…

MAC动态精美壁纸强烈推荐【文末福利】

在遇见超级好用的壁纸应用之后,发现MAC除了可以用来工作,还可以这么漂酿和有趣~ 推荐几款最近发现的壁纸应用,好东西,要一起分享嘛~ TOP1 【Dynamic Wallpaper:动态壁纸】 可能很多人都知道steam上"Wallpaper E…

如何破解Mac并为其提供真正应得的精美壁纸

by Aakaash Jois 通过Aakaash Jois 如何破解Mac并为其提供真正应得的精美壁纸 (How to hack your Mac and give it the gorgeous wallpapers it truly deserves) Let’s face it. The default wallpapers on the Mac gets boring after a few weeks. And setting new wallpape…

Python爬虫应用实战案例-xpath正则表达式使用方法,爬取精美壁纸

使用XPath XPath,全称XML Path Language,即XML路径语言,它是在XML语言中查找信息的语言。它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索。 在上一篇文章中讲述了正则表达式的使用方法,正则表达式的难度还是比较大的,如果不花足够多的时间去做的话还是比较…