python抓取wallhaven首页壁纸
2021/5/17 1:25:13
本文主要是介绍python抓取wallhaven首页壁纸,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python抓取wallhaven首页壁纸
""" 下载wallheaven首页图片,保存在同级文件夹image中 """ from bs4 import BeautifulSoup import requests import re import os """ 图片下载函数 Pic_url为图片的url save_path为图片保存路径 Headers为请求头,有默认参数 """ # noinspection PyDefaultArgument def DownloadImage(Pic_url, Save_path, Headers={ "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/83.0.4103.61 Safari/537.36 ' }): if not os.path.exists(Save_path): os.mkdir(Save_path) pic_name = pic_url[-20:] pic = requests.get(url=Pic_url, headers=Headers) with open(Save_path + pic_name, 'wb') as f: for chunk in pic.iter_content(): f.write(chunk) print("图片已保存") if __name__ == '__main__': # wallhaven的网址 url = "https://wallhaven.cc/" # 请求头,用于通过wallhaven的检查,wallhaven不支持爬虫爬取 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ' 'Chrome/83.0.4103.61 Safari/537.36 ' } # 获取html文件 response = requests.get(url=url, headers=headers) html = BeautifulSoup(response.text, 'html5lib') # 获取每一张图片的高清图片链接,存入列表。由于从上一个页面获取到的链接是打开图片详情页的链接,所以在这再次发起请求。 pic_page_url_list = [] for item in html.find_all(name='a', href=re.compile("https://wallhaven.cc/w/")): pic_page_url_list.append(item.get("href")) # 逐一下载列表里面的图片 for pic_page_url in pic_page_url_list: pic_response = requests.get(url=pic_page_url, headers=headers) pic_html = BeautifulSoup(pic_response.text, 'html5lib') pic_url = pic_html.select('#wallpaper')[0]["src"] if pic_url: print(pic_url) DownloadImage(pic_url, 'image/', headers) else: print("No url")
这篇关于python抓取wallhaven首页壁纸的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器