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

2021/4/9 20:25:35

本文主要是介绍Python网络爬虫:35行代码爬取桌酷壁纸图片 并存储到本地文件夹,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

学习目录

  • 1. 桌酷网站分析
    • 1.2 网址分析
    • 1.3 HTML源码分析
  • 2. 编写爬取代码
  • 3. 展示结果
  • 写在最后

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文件夹,应该可以看到:
结果展示

写在最后

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


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



这篇关于Python网络爬虫:35行代码爬取桌酷壁纸图片 并存储到本地文件夹的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程