当前位置: 首页 > news >正文

Python爬取高清美女图片

文章概述

本文将详细介绍如何使用Python编写一个简单的爬虫来抓取高清美女图片。我们将利用requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML文档,从而提取出图片的URL并将其下载到本地。

技术栈

  • Python: 编程语言
  • requests: HTTP客户端库
  • BeautifulSoup: HTML/XML解析库

环境准备

确保安装了以下Python库:

  • requests
  • beautifulsoup4

可通过pip安装:

pip install requests beautifulsoup4

代码详解

1. 导入库

import requests
from bs4 import BeautifulSoup

2. 爬取图片

for i in range(1, 10, 1):if i == 1:r = requests.get('https://pic.netbian.com/4kmeinv/index.html')else:r = requests.get(f'https://pic.netbian.com/4kmeinv/index_{i}.html')r.encoding = 'gbk'html = r.textsoup = BeautifulSoup(html, 'html.parser')imgs = soup.find_all('img')for img in imgs:src = img['src']if '/uploads/' not in src:continuesrc = f'https://pic.netbian.com{src}'with open(f'美女图片/{img["alt"]}.jpg', 'wb') as fp:resp = requests.get(src)fp.write(resp.content)

代码分析

  1. 循环遍历页面:从第1页到第10页,每页包含不同的美女图片。
  2. 发送HTTP请求:使用requests.get()方法获取网页内容。
  3. 编码设置:由于网站使用GBK编码,我们需要手动设置编码格式。
  4. 解析HTML:使用BeautifulSoup解析网页内容,提取所有的<img>标签。
  5. 筛选图片URL:只保留那些包含/uploads/的图片链接。
  6. 下载图片:使用requests.get()下载图片,并将其保存到本地文件。

注意事项

  1. 文件夹创建:确保美女图片文件夹存在,否则程序会抛出异常。
  2. 版权问题:请确保遵循相关网站的版权政策,不要用于商业用途。
  3. 异常处理:可以增加异常处理机制来增强程序的健壮性。

运行程序

确保所需库已安装,并且美女图片文件夹已创建,然后运行上述脚本即可开始爬取图片。

总结

通过上述代码,我们实现了一个简单的爬虫,它可以抓取高清美女图片并保存到本地。这种方法适用于快速抓取小规模的图片数据集。如果你需要更高级的功能或处理大量数据,可以考虑使用更复杂的技术如异步请求、多线程或多进程等。

完整代码

import requests
from bs4 import BeautifulSoupfor i in range(1,10,1):if i == 1:r = requests.get(r'https://pic.netbian.com/4kmeinv/index.html')else:r = requests.get(f'https://pic.netbian.com/4kmeinv/index_{i}.html')r.encoding = 'gbk'html = r.textsoup = BeautifulSoup(html, 'html.parser')imgs = soup.find_all('img')for img in imgs:src = img['src']if '/uploads/' not in src:continuesrc = f'https://pic.netbian.com{src}'with open(f'美女图片/{img["alt"]}.jpg', 'wb') as fp:resp = requests.get(src)fp.write(resp.content)

http://www.lryc.cn/news/419788.html

相关文章:

  • gin路由
  • 达梦数据库操作以及报错修改
  • 江科大/江协科技 STM32学习笔记P21
  • 第三方jar自带logback导致本地日志文件不生成
  • 国产数据库备份恢复实现
  • 数据仓库: 2- 数据建模
  • Tomcat 漏洞
  • 分布式消息队列Kafka
  • C# Unity 面向对象补全计划 七大原则 之 迪米特法则(Law Of Demeter )难度:☆☆☆ 总结:直取蜀汉
  • 【C++】—— 类与对象(四)
  • Qt无边框窗口,关闭后再show,鼠标等事件不响应问题解决办法
  • StringJoiner更优雅创建含分隔符的字符序列
  • 线程池原理(一)线程池核心概述
  • 关于redisson的序列化配置
  • CentOS安装ax200驱动
  • FFMPEG Mac版本编译
  • Reactive Programing与“响应式”
  • Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升
  • 代码+视频,R语言VRPM绘制多种模型的彩色列线图
  • Python 设计模式之工厂函数模式
  • 数据赋能(171)——开发:数据挖掘——概述、关注焦点
  • L1 - OpenCompass 评测 InternLM-1.8B 实践
  • JS【详解】数据类型检测(含获取任意数据的数据类型的函数封装、typeof、检测是否为 null、检测是否为数组、检测是否为非数组/函数的对象)
  • OpenCV图像滤波(10)Laplacian函数的使用
  • docker系列11:Dockerfile入门
  • LVS(Linux virual server)详解
  • Session共享方法
  • Ubuntu 22.04 Docker安装笔记
  • 编程-设计模式 6:适配器模式
  • ERC721 概念解释