爬虫 | 高清壁纸批量下载(内附源码+工具)

发布: 2023-08-10 15:46:01
转载
1545人浏览过


Unsplash 是一个免费高质量照片的网站,都是真实的摄影照片,照片分辨率也很大,对设计师朋友来说是非常好的素材,对一些插图类文案写作的朋友也非常实用,当壁纸效果也很不错。相应功能代码封已封装成exe工具,希望对你有所帮助,文末附有代码+工具获取方式


1. 导入模块

1.1 导入模块 

代码:

爬虫 | 高清壁纸批量下载(内附源码+工具)

我们先看一下手动下载的过程,注意不是右键图片另存为,右键另存的方式获取的图片是经过一定比例压缩的,清晰度会降低很多。以Nature为例,点击Download free,选择下载路径即可,图片大小1.43M。

爬虫 | 高清壁纸批量下载(内附源码+工具)
接下来,分析具体网页
首先,我们观察到网页底部有页码选择项,我们试着下拉网页滑块,发现图片是动态加载的,也就是是我们下拉网页时,后续图片才陆续显示。

通过几次操作,发现当下拉时,网页会发出如下几个请求,点开其中一个,可以看到图片总数量:10000,总页数:500

爬虫 | 高清壁纸批量下载(内附源码+工具)

我们把几个url拿出来看一下:

爬虫 | 高清壁纸批量下载(内附源码+工具)

以上链接只有page参数不同,而且是依次递增的,还算是比较友好,请求时依次遍历就可以了。

页码的问题已经解决,接下来分析每张图片的链接

爬虫 | 高清壁纸批量下载(内附源码+工具)

我们看到result列表长度正好是20,与请求中的per_page值相同,毫无疑问,我们要找的每张图片链接就在这里。
分析网页往往比较耗时,不过总的来说还算顺利,下面我们正式爬取图片。


2. 爬取图片

2.1 导入模块 
import time
import random
import json
import requests
from fake_useragent import UserAgent
登录后复制
  • time:定时
  • random:生成随机数

  • json:处理json格式数据

  • requests:网页请求

  • fake_useragent:代理

2.2 获取图片 
模拟代理,以网页的身份访问服务器,避免请求被服务器判定为机器爬虫而不响应请求
ua = UserAgent(verify_ssl=False)
headers = {'User-Agent': ua.random}
登录后复制
根据响应,获取所有图片链接:
def getpicurls(i,headers):
    picurls = []
    url = 'https://unsplash.com/napi/search/photos?query=nature&per_page=20&page={}&xp=feedback-loop-v2%3Aexperiment'.format(i)
    r = requests.get(url, headers=headers, timeout=5)
    time.sleep(random.uniform(3.1, 4.5))
    r.raise_for_status()
    r.encoding = r.apparent_encoding
    allinfo = json.loads(r.text)
    results = allinfo['results']
    for result in results:
        href = result['urls']['full']
        picurls.append(href)
    return picurls
登录后复制
2.3 保存图片 

保存图片文件:
def getpic(count,url):
    r = requests.get(url, headers=headers, timeout=5)
    with open('pictures/{}.jpg'.format(count), 'wb') as f:
        f.write(r.content)
登录后复制
效果:

爬虫 | 高清壁纸批量下载(内附源码+工具)


3. EXE爬取

exe工具运行结果:

爬虫 | 高清壁纸批量下载(内附源码+工具)

注意:
  • 尽量不要频繁的爬取,以免影响网络秩序!

  • 图片为外网高清图片,爬取速度和网络有关,一般不会太快。

  • 可以构建代理池爬取,速度更快。

以上就是爬虫 | 高清壁纸批量下载(内附源码+工具)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:Python当打之年网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号