测试时间:2021-02-16

  • 1.参考博客
  • 2.python代码

1.参考博客

From(侵删):
https://blog.csdn.net/qq_41849471/article/details/89607706

2.python代码

图片保存路径:
save_dir = ‘C:/Users/Administrator/Pictures/wallpaper/’

pycharm直接运行即可下载到该目录,其他参数可参考上述博客。

import requests
from lxml import etree
import re
import os
import timedef get_pictures(url,folder_name,dest_count,c):html = requests.get(url)res = etree.HTML(html.content)img_url = res.xpath('//img[@id="wallpaper"]/@src')[0]img_name = img_url.split('/')[-1]try:img_html = requests.get(img_url)save_dir = 'C:/Users/Administrator/Pictures/wallpaper/' + folder_nameif not os.path.exists(save_dir):os.mkdir(save_dir)with open(save_dir +'/'+img_name,'wb') as f:f.write(img_html.content)print("正在下载第 {} 张图片=====> ".format(c+1)+img_name+' -----success!')return 1except:print("正在下载第 {} 张图片=====> ".format(c+1)+img_name+' -----failure!')return 0def get_next_url(url,folder_name,stars_num,dest_count,all):html = requests.get(url)res = etree.HTML(html.content)next_urls = res.xpath("//a[@class='preview']/@href")stars = res.xpath("//div[@class='thumb-info']/a[1]/text()")res_url = []sum = allfor i in range(0,len(stars)):if int(stars[i])>=int(stars_num):res_url.append(next_urls[i])for i in res_url:sum += get_pictures(i,folder_name,dest_count,sum)if sum >= dest_count:exit("目标已达成!")if len(next_urls) == 0:print("无更多图片!")time.sleep(3)exit("0")return sumif __name__ == "__main__":print("请选择获取方式:1.范围选择 2.关键词搜索 3.二者结合")# style = input()style = '1'categories = ['0','0','0']purity = ['0','0','0']url = ""keyword = ""sort_list = [# 'https://wallhaven.cc/search?categories=101&purity=110&atleast=2560x1080&topRange=1M&sorting=toplist&order=desc&page={}','https://wallhaven.cc/search?categories={}&purity={}&atleast=2560x1080&ratios=16x9&topRange=1M&sorting=toplist&order=desc&page={}'# ,'https://wallhaven.cc/search?q={}&categories={}&purity={}&sorting=date_added&order=desc&page={}'#, 'https://alpha.wallhaven.cc/search?q={}&categories={}&purity={}&resolutions=1920x1080&topRange=1M&sorting=toplist&order=desc&page={}',# 'https://alpha.wallhaven.cc/search?q={}&categories={}&purity={}&resolutions=1920x1080&sorting=random&order=desc&page={}',# 'https://alpha.wallhaven.cc/search?q={}&search_image=&page={}']if style == '1' or style == '3':if style == '3':print("请输入搜索关键词(建议英文):")keyword = input().replace(' ','+')print("请选择图片类型:1.General 2.Anime 3.People (可多选,默认全选,空格分割选项)")# selection_str = input()selection_str = ''selection = selection_str.split()for i in selection:try:categories[int(i)-1] = '1'except:categories = ['1','1','1']print("图片附加选项:1.SFW 2.Sketchy (可多选,默认选择1,空格分隔选项,建议选择SFW)")# selection_str = input()selection_str = ''selection = selection_str.split()for i in selection:try:purity[int(i)-1] = '1'except:purity = ['1','0','0']purity[2] = '0'if selection_str == "":purity = ['1','1','0']print("请选择排序方式:1.Latest 2.Toplist 3.Random (单选,默认Random)")# selection_str = input()selection_str = '2'count = 1while selection_str != '1' and selection_str != '2' and selection_str != '3' and count <= 3 and selection_str != "":print("请正确选择(多次错误则默认选择)")selection_str = input()count += 1if count == 4:url = sort_list[2]elif selection_str == "":url = sort_list[2]else:# url = sort_list[int(selection_str)-1]url = sort_list[0]elif style == '2':print("请输入搜索关键词(建议英文):")keyword = input().replace(' ','+')url = sort_list[3]print("请输入文件夹的名称:")# folder_name = input()folder_name = 'wallhaven_wallpaper'while folder_name == "":folder_name = input()print("请输入最低的点赞数:")# stars_num = input()stars_num = 20print("请输入目标图片数量:")# dest_count = input()dest_count = 200all = 1 # 目前爬取的张数,用来控制下载张数for i in range(1,999):print('get the page: {}'.format(i))if style != '2':# print("getting from " + url.format(keyword,"".join(categories),"".join(purity),i))print("getting from " + url.format("".join(categories),"".join(purity),i))# all = get_next_url(url.format(keyword,"".join(categories),"".join(purity),i),folder_name,stars_num,int(dest_count),all)all = get_next_url(url.format("".join(categories),"".join(purity),i),folder_name,stars_num,int(dest_count),all)else:print("getting from " + url.format(keyword,i))all = get_next_url(url.format(keyword,i),folder_name,stars_num,int(dest_count),all)```

wallhaven.cc网站图片超清壁纸爬虫相关推荐

  1. python下载图片 referer_Python必应超清壁纸爬虫下载|Python爬取必应每日图片源码 - PS下...

    不知道大家是否对每日一成不变的壁纸感到厌倦呢?反正对于我个人来说,如果每天打开电脑映入眼帘的都是不同的画面,那么科研热情都会被充分激发,从而提高自己的劳动生产力.下面笔者给大家分享一下Python必应 ...

  2. python手机壁纸超清_【原创】Python必应超清壁纸爬虫

    [Python] 纯文本查看 复制代码# Author:YFAN # Author:YFAN import requests import lxml.etree from time import sl ...

  3. python爬虫:使用scrapy框架抓取360超清壁纸(10W+超清壁纸等你来爬)

    目的:闲着无聊,利用爬虫爬取360超清壁纸,并将其数据存储至MongoDB/MySQL中,将图片下载至指定文件夹. 要求:确保以安装MongoDB或者MySQL数据库.scrapy框架也肯定必须有的: ...

  4. Python爬虫新手入门教学(十三):爬取高质量超清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  5. python爬虫实践(1)爬取图片网站的高清壁纸

    python爬虫实践(1)爬取图片网站的高清壁纸 robots.txt协议: 爬取网站之前首先检查该站点根目录下是否存在robots.txt,如果存在,就会按照该文件中的内容来确定访问的范围:如果该文 ...

  6. python手机壁纸超清_python爬虫学习之爬取5K分辨率超清唯美壁纸

    前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取! 简介 壁纸的选择其实很大程度上 ...

  7. python手机壁纸超清_python爬虫 爬取超清壁纸代码实例

    简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空,有的人喜欢美女,有的人喜欢动物.然而,终究有一天你已经产生审美疲劳了,但你下定决定要换壁纸的时候,又发现网上的壁 ...

  8. 哪吒壁纸来袭,教你不用PS也能制作哪吒1080P超清壁纸,你不看看

    哪吒作为火遍全网的一部电影,连作为一个资深宅男的小编我都去了电影院看了一遍这部电影,真的好看.不过本来是奔着哪吒去的,结果没想到被敖丙圈了粉,既然如此今天我们就来制作一张关于哪吒的手机壁纸吧. 首先制 ...

  9. 4k超清壁纸APP抓包获取所有壁纸下载地址

    4k超清壁纸APP抓包获取所有壁纸下载地址   Lan   2020-05-09 10:38   288 人阅读  0 条评论 额,最近发现手机壁纸似乎有段时间没换了,刚好又看到网上有一个APP叫做4 ...

  10. python手机壁纸超清_4k超清壁纸APP抓包获取所有壁纸下载地址

    额,最近发现手机壁纸似乎有段时间没换了,刚好又看到网上有一个APP叫做4k超清壁纸 似乎很厉害的样子,然后我就抓包,发现这家APP的心真大. 先来一张效果图 打开Burp,打开软件,设置好burp和模 ...

最新文章

  1. 范成法加工matlab_光学非球面技术原理与加工技术
  2. 图灵奖得主Yann LeCun万字访谈:DNN“史前文明”、炼金术及新的寒冬
  3. Java项目:基于SSM实现房屋租赁系统
  4. 全球及中国二叔丁基氢醌行业容量规模与供求趋势分析报告2022版
  5. 大数据Java基础第十九天作业
  6. Linux安装配置Java1.8开发环境
  7. 什么是顺序一致性呢?
  8. 自己做一桌丰盛晚餐犒劳犒劳
  9. 【剑指offer】_02替换空格
  10. c语言万年历的设计任务,万年历设计报告
  11. [UE4]需要保存的数据
  12. 黑马程序员_Java高新技术
  13. 《掌握需求过程》读书笔记3
  14. Javascript之把网页加入收藏夹功能
  15. ADF4351应用电路
  16. Recording︱有价值的各类AI、机器学习比赛心得、经验抄录
  17. cs231n-assignment3的笔记
  18. linux查询socket资源,TCP的socket资源被耗尽的问题
  19. PHP使用阿里云(语音合成)实现文字转语音“TTS“
  20. Verification和Validation

热门文章

  1. GPRS附着,PDP激活失败
  2. 计算机网速单位是什么,文件大小和网速的单位
  3. 零点存在定理与介值定理
  4. 学习笔记--数据通信与计算机网络
  5. 百度数据可视化Sugar BI — 工业零部件3D大屏(附保姆级教程)
  6. 通过远程PHP远程调用ZABBIX接口获取数据
  7. AntD Pro v5记录-布局
  8. css实现奥运五环(立体)
  9. java 反射基础_Java反射的基本使
  10. wow 如何写dz 宏