编程语言
首页 > 编程语言> > Python网络爬虫:35行代码爬取桌酷壁纸图片 并存储到本地文件夹

Python网络爬虫:35行代码爬取桌酷壁纸图片 并存储到本地文件夹

作者:互联网

hello,大家好,我是wangzirui32,今天我们来学习如何爬取桌酷壁纸图片,并存储到本地文件夹。
开始学习吧!

学习目录

1. 桌酷网站分析

1.2 网址分析

桌酷壁纸网站的链接为https://www.zhuoku.org/,首先,单击页面上的搜索文本框,随便输入些什么,比如这里笔者输入“天空”,导航栏的地址变为:

https://www.zhuoku.org/search/天空

这样就好理解了,只需要在https://www.zhuoku.org/search/加上搜索的关键词即可。

1.3 HTML源码分析

如下图:
源码分析分析完毕后,即可编写代码。

2. 编写爬取代码

首先,你需要在项目文件夹下创建image文件夹,然后才能编写代码:

# -*- coding: utf-8 -*-
from requests import get
from bs4 import BeautifulSoup
# 关键词和下载张数
key_word = input("请输入搜索关键词:")
downloads_num = int(input("请输入下载张数:"))

print("\n准备下载...")

url = "https://www.zhuoku.org/search/" + key_word

r = get(url)

soup = BeautifulSoup(r.text, "html.parser")
# 寻找class为wb_listbox的div标签
img_div = soup.find("div", {"class": "wb_listbox"})
# 获取里面的所有img标签 并调整到与需要下载张数相同
imgs = img_div.find_all("img")[:downloads_num]
# 统计下载张数
num = 1

print("开始下载:")
for img in imgs:
	# 获取图片链接
    img_link = img.get("src")
    with open("image/" + img.get("title") + ".png", "wb") as f:
        try:
            f.write(get(img_link).content)
        except Exception:
            print("第" + str(num) + "张图片下载失败!")
        else:
            print("第" + str(num) + "张图片下载成功!")
    num += 1

print("\n下载完毕!请在image文件夹查看下载壁纸!")

这样就完成了,你学会了吗?

3. 展示结果

运行代码,按照程序提示输入:

请输入搜索关键词:天空
请输入下载张数:5

准备下载...
开始下载:
第1张图片下载成功!
第2张图片下载成功!
第3张图片下载成功!
第4张图片下载成功!
第5张图片下载成功!

下载完毕!请在image文件夹查看下载壁纸!

打开image文件夹,应该可以看到:
结果展示

写在最后

这个程序你还可进行拓展,如加入多线程爬虫下载,或者可以多爬取几页的壁纸,也可以将这些壁纸分享给你的同事朋友等等。


今天的课程就到这儿了,我们下次再见!

标签:num,img,Python,图片下载,35,爬取,文件夹,壁纸,下载
来源: https://blog.csdn.net/wangzirui32/article/details/115557281