【Python爬虫】Python request 实现壁纸爬虫 一键批量下载高清壁纸

简介

本项目是本人检验python爬虫学习成果的一个小项目,简陋但能用,对壁纸有不同需求的可自行更改搜索参数,希望能帮到爬虫爱好者或者壁纸爱好者,爬取的所有图片均来源于wallhaven,仅用于个人欣赏和非商业用途,完整代码附在最后。

最终成果

在这里插入图片描述在这里插入图片描述

前期准备

import requests
import urllib
import re
import time
import urllib3
//去除运行时控制台的警告
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

分析网页

网页结构

搜索页:每页24个条目 ==》 条目页:提取图片链接 ==》 图片链接:保存

构造url

#搜索参数
key = ""
cat = "100"#General/Anime/People
pur = "100"#SFW(100)/Sketchy(010)
sort = "toplist"#Relevance/Random/Data Added/Views/Favorites/Toplist/Toplist Beta
order = "desc"#asc/desc
topRange="3d"#1d/3d/1w/3m/1y

url = url+key+'&categories='+cat+'&purity='+pur +'&sorting='+sort+'&order='+order+'&page='+page

构造正则表达式

linkPat = '<a class="preview" href="(.*?)"  target="_blank"  >'


 wallpaperPat = '<img id="wallpaper" src="(.*?)"'

编写过程

思路

一个外循环遍历每一页,从搜索页提取出各图片条目页的链接
一个内循环遍历该页提取出所有的条目,访问从各自条目中获取的图片源地址,保存图片

https的验证问题

遇到的第一个问题,由于壁纸网站采用了https加密协议,需要ssl证书认证,此时将请求头的verify属性值设为false就可以了

data1 = requests.get(url=url,headers=headers,verify=False)

在过程运行中会出现warning信息,办法是关闭InsecureRequestWarning

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

文件的保存

创建文件夹

设置时间戳自动创建文件夹,避免多次保存的图片相互覆盖

#文件夹创建函数
def mkdir(path):
    # 引入模块
    import os
    # 去除首位空格
    path=path.strip()
    # 去除尾部 \ 符号
    path=path.rstrip("\\")
 
    # 判断路径是否存在
    # 存在     True
    # 不存在   False
    isExists=os.path.exists(path)
 
    # 判断结果
    if not isExists:
        # 如果不存在则创建目录
        # 创建目录操作函数
        os.makedirs(path)<
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值