使用Python爬取4K美图

前言

在本教程中,我们将使用Python编写一个简单的爬虫程序来从网站上抓取4K美图,并将这些图片保存到本地文件夹中。我们将使用requests库来发送HTTP请求,lxml库来解析HTML内容,以及os库来处理文件路径。

环境准备

在开始之前,请确保你的Python环境中安装了以下库:

  • requests
  • lxml
  • fake_useragent

你可以使用pip命令来安装这些库:

pip install requests lxml fake_useragent -i https://pypi.tuna.tsinghua.edu.cn/simple

代码实现

导入所需的库

from fake_useragent import UserAgent  # 用于生成随机User-Agent
import requests  # 用于发送网络请求
from lxml import etree  # 用于解析HTML文档
import os  # 用于文件和目录操作

设置目标URL及请求头

url = "http://pic.netbian.com/4kmeinv/"
headers = {'User-Agent': UserAgent().random}  # 随机生成一个User-Agent

发送请求并解析HTML

response = requests.get(url, headers=headers)
page_text = response.text
tree = etree.HTML(page_text)
li_list = tree.xpath('//*[@id="main"]/div[3]/ul/li')

检查并创建存储目录

if not os.path.exists('E:/Python/4k图片'):
    os.makedirs('E:/Python/4k图片')  # 创建多级目录

遍历图片列表并下载

for li in li_list:
    img_src = 'https://pic.netbian.com/' + li.xpath("./a/img/@src")[0]
    img_name = li.xpath("./a/img/@alt")[0]
    img_name = img_name.encode('iso-8859-1').decode('gbk')  # 解决中文乱码
    special_chars = '!@#$%^&*()[]{};:,.<>?/|`~-=_+'
    cimg_name = img_name.translate(str.maketrans('', '', special_chars))  # 去除特殊字符
    img_data = requests.get(img_src, headers=headers).content
    img_path = f'E:/Python/4k图片/{cimg_name}.jpg'
    with open(img_path, 'wb') as f:
        f.write(img_data)
        print(f"{img_name} 下载完成")

运行结果

运行上述代码后,你会看到控制台输出每张图片的下载进度,并且所有图片都会被保存到img_path路径文件夹中。

花丛美女章若楠 4K壁纸 3840x2400 下载完成
王楚然 黑色套装 4K美女壁纸3840x2400 下载完成
周也 白色裙子 拼图 4K美女壁纸 3840x2400 下载完成
美女 黑色裙子 沙发 百叶窗 5K壁纸 5120x2880 下载完成
草地 鲜花 天空 可爱美女曦姐enndme 4K壁纸 3840x2400 下载完成
刘诗诗 黑色长裙 唯美 暗色风格 5K美女壁纸 5120x2880 下载完成
王楚然 黑色西服 领带 4K壁纸 3840x2400 下载完成
唯美古风美女 剑 背影 王楚然 4K壁纸 3840x2160 下载完成
高清美女 鲜花 女孩 木屋 地毯 4k壁纸 下载完成
美女 厨师装 虞书欣4k壁纸3840x2400 下载完成
古风美女王楚然 侧脸 唯美 4k壁纸 3840x2160 下载完成
王楚然 马 清新 4K美女壁纸 3840x2400 下载完成
王楚然 西装 马 黑白风格 4K美女壁纸 3840x2400 下载完成
王楚然4k高清电脑壁纸 3840x2400 下载完成
王楚然 白色裙子 唯美闭眼 4K美女壁纸 3840x2400 下载完成
曦姐enndme高清4K壁纸 3840x2160 下载完成
花丛美女章若楠 3440x1440带鱼屏壁纸 下载完成
章若楠 蓝色小领带 4K美女壁纸 3840x2400 下载完成
小陆离 树下 可爱女孩 4K壁纸 3840x2160 下载完成
白鹿 花环 4K美女壁纸 3840x2400 下载完成

进程已结束,退出代码为 0

在这里插入图片描述

总结

通过这个简单的示例,我们学会了如何使用Python爬取网页上的图片,并将其保存到本地文件夹中。你可以根据需要修改代码,以适应其他网站或不同类型的资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值