Python爬取高清美女图片
文章概述
本文将详细介绍如何使用Python编写一个简单的爬虫来抓取高清美女图片。我们将利用requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML文档,从而提取出图片的URL并将其下载到本地。
技术栈
- Python: 编程语言
- requests: HTTP客户端库
- BeautifulSoup: HTML/XML解析库
环境准备
确保安装了以下Python库:
requestsbeautifulsoup4
可通过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页到第10页,每页包含不同的美女图片。
- 发送HTTP请求:使用
requests.get()方法获取网页内容。 - 编码设置:由于网站使用GBK编码,我们需要手动设置编码格式。
- 解析HTML:使用
BeautifulSoup解析网页内容,提取所有的<img>标签。 - 筛选图片URL:只保留那些包含
/uploads/的图片链接。 - 下载图片:使用
requests.get()下载图片,并将其保存到本地文件。
注意事项
- 文件夹创建:确保
美女图片文件夹存在,否则程序会抛出异常。 - 版权问题:请确保遵循相关网站的版权政策,不要用于商业用途。
- 异常处理:可以增加异常处理机制来增强程序的健壮性。
运行程序
确保所需库已安装,并且美女图片文件夹已创建,然后运行上述脚本即可开始爬取图片。
总结
通过上述代码,我们实现了一个简单的爬虫,它可以抓取高清美女图片并保存到本地。这种方法适用于快速抓取小规模的图片数据集。如果你需要更高级的功能或处理大量数据,可以考虑使用更复杂的技术如异步请求、多线程或多进程等。
完整代码
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)
相关文章:
Python爬取高清美女图片
文章概述 本文将详细介绍如何使用Python编写一个简单的爬虫来抓取高清美女图片。我们将利用requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML文档,从而提取出图片的URL并将其下载到本地。 技术栈 Python: 编程语言requests: HTTP客户端库Beau…...
gin路由
1主文件 package main import ("github.com/gin-gonic/gin""godade/user""net/http" ) func main() {router : gin.Default()router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "Hello World")})v1 : router…...
达梦数据库操作以及报错修改
执行失败(语句1) -6105:: 数据类型不匹配 第12 行附近出现错误 插入sql语句 INSERT INTO "by_ioc_rbac"."user_info" ("user_account", "user_name", "birthday", "password", "gender", "mobi…...
江科大/江协科技 STM32学习笔记P21
文章目录 ADC模数转换器ADC简介逐次逼近型ADCSTM32的ADCADC基本结构输入通道转换模式单次转换,非扫描模式连续转换,非扫描模式单次转换,扫描模式连续转换,扫描模式 触发控制数据对齐转换时间校准硬件电路电位器产生可调电压的电路…...
第三方jar自带logback导致本地日志文件不生成
1.问题及解决 这是依赖的jar包,自己有logback,只打印到控制台,导致我们项目里配置的error级别日志不会生成到日志文件中去。ai给的答案是自己控制加载顺序,但很麻烦,--logging.config也不行,最好下了个7z压…...
国产数据库备份恢复实现
数据库备份恢复是数据库高可用的基本能力,如何通过备份数据快速高效的恢复业务并且满足不同场景下的恢复需求,是各数据库厂商需要关注的要点。本文将介绍几种国产数据库的备份恢复功能,以加深了解。 1、数据库备份恢复方案 数据库备份是生产…...
数据仓库: 2- 数据建模
目录 2- 数据建模2.1 维度建模2.1.1 维度建模的基本概念2.1.1.1 事实表 (Fact Table)2.1.1.2 维度表 (Dimension Table)2.1.1.3 维度 (Dimension)2.1.1.4 度量 (Measure) 2.1.2 维度建模的主要模型2.1.2.1 星型模型 (Star Schema)2.1.2.2 雪花模型 (Snowflake Schema)2.1.2.3 星…...
Tomcat 漏洞
一.CVE-2017-12615 1.使用burp抓包 把get改成put jsp文件后加/ 添加完成后访问 木马 然后木马的网址 在哥斯拉测试并且添加 添加成功 然后我们就成功进去啦、 二.弱口令 点击后输入默认用户名、密码:tomcat/tomcat 登陆之后上传一个jsp文件 后缀改成war 然后访问我…...
分布式消息队列Kafka
分布式消息队列Kafka 简介: Kafka 是一个分布式消息队列系统,用于处理实时数据流。消息按照主题(Topic)进行分类存储,发送消息的实体称为 Producer,接收消息的实体称为 Consumer。Kafka 集群由多个 Kafka 实…...
C# Unity 面向对象补全计划 七大原则 之 迪米特法则(Law Of Demeter )难度:☆☆☆ 总结:直取蜀汉
本文仅作学习笔记与交流,不作任何商业用途,作者能力有限,如有不足还请斧正 本系列作为七大原则和设计模式的进阶知识,看不懂没关系 请看专栏:http://t.csdnimg.cn/mIitr,查漏补缺 1.迪米特法则(…...
【C++】—— 类与对象(四)
【C】—— 类与对象(四) 6、赋值运算符重载6.1、运算符重载6.1.1、基础知识6.1.2、调用方法6.1.3、前置 与 后置 的重载6.1.4、注意事项6.1.5、<< 和 >> 运算符重载6.1.5.1、<< 和 >> 基础6.1.5.2、日期类 operator<< 的实…...
Qt无边框窗口,关闭后再show,鼠标等事件不响应问题解决办法
问题描述 使用Qt做了一个无边框界面,关闭后再打开,子控件的点击以及hover效果不可用。 setWindowFlags(windowFlags() | Qt::Dialog | Qt::FramelessWindowHint);//去掉标题栏解决方案: 在网上发现可以通过重写showEvent(QShowEvent* showE…...
StringJoiner更优雅创建含分隔符的字符序列
文章目录 1 why2 what3 how4 练习手段 1 why StringBuilder拼接包含分隔符的字符序列时,分隔符需要一个一个添加,或者需要手动删除末尾冗余的分隔符,代码不美观,不好看。 比如,单个字符串依次拼接时: Stri…...
线程池原理(一)线程池核心概述
更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 线程回顾 创建线程的方式 继承 Thread 类实现 Runnable 接口 创建后的线程有如下状态: NEW:新建的线程,无任何操作 public static void main(String[] args) {Thread…...
关于redisson的序列化配置
由于使用redisson来存储list,返回的数据格式总是不对 原因是配置的序列化格式不对 Bean(value "redissonDtClient") public RedissonClient redissonClient() {RedisConnectionProperties.RedisConfigEntity configEntity properties.getDt();log.inf…...
CentOS安装ax200驱动
如果内核低于5.1需要安装一下内核 详细移步:Centos7安装高版本内核 大致如下: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm yum --enablerepoelrepo-ke…...
FFMPEG Mac版本编译
Mac下FFMPEG使用 There are a few ways to get FFmpeg on OS X. One is to build it yourself. Compiling on Mac OS X is as easy as any other *nix machine, there are just a few caveats(警告). The general procedure is get the source, then ./configure <flags&g…...
Reactive Programing与“响应式”
将Reactive Programing翻译为“响应式编程”,的确不好理解。什么是Reactive?Reactive被翻译为“反应”,其英文原意是“事物对变化信号的回应、反应”。我热了,空调自动开,这就是空调对我的Reaction,我和空调…...
Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升
导读: 开源无国界,StarRocks 自开源以来,近3年的时间里已在全球数据技术领域崭露头角。我们欣喜地发现,越来越多的海外用户正在使用并积极推广着 StarRocks。为了促进知识共享,StarRocks中文社区将精选优秀文章与大家共…...
代码+视频,R语言VRPM绘制多种模型的彩色列线图
列线图,又称诺莫图(Nomogram),它是建立在回归分析的基础上,使用多个临床指标或者生物属性,然后采用带有分数高低的线段,从而达到设置的目的:基于多个变量的值预测一定的临床结局或者…...
Conda环境回滚实战:当安装新包搞崩base环境时如何一键恢复
Conda环境回滚实战:当安装新包搞崩base环境时如何一键恢复 在Python开发中,conda作为包管理和环境管理的利器,几乎成为数据科学家的标配工具。但越是频繁使用conda,越容易遇到一个令人头疼的问题——在base环境中安装新包后&#…...
YOLOv5+Swin-Tiny实战:在自定义数据集上提升小目标检测精度的完整流程
YOLOv5与Swin-Tiny融合实战:工业级小目标检测优化指南 在无人机巡检、遥感监测和工业质检等场景中,小目标检测一直是计算机视觉领域的棘手挑战。传统卷积神经网络(CNN)在处理这类任务时,往往难以兼顾感受野与计算效率的平衡。本文将带您探索如…...
别再只会用AT指令了!用GD32F103驱动ESP8266实现MQTT连接阿里云(附完整源码)
从AT指令到MQTT协议:GD32F103ESP8266直连阿里云物联网平台实战 在物联网设备开发中,ESP8266作为性价比极高的Wi-Fi模块,常被用于实现设备联网功能。大多数开发者对它的认知停留在AT指令操作层面,通过串口发送简单的AT命令实现TCP连…...
终极指南:如何使用Python实现同花顺自动化程序交易
终极指南:如何使用Python实现同花顺自动化程序交易 【免费下载链接】jqktrader 同花顺自动程序化交易 项目地址: https://gitcode.com/gh_mirrors/jq/jqktrader 在量化投资领域,自动化交易已成为专业投资者的标准配置。本文将详细介绍如何利用jqk…...
H5-Dooring零基础入门终极指南:无需编码制作专业H5页面
H5-Dooring零基础入门终极指南:无需编码制作专业H5页面 【免费下载链接】h5-Dooring H5 Page Maker, H5 Editor, LowCode. Make H5 as easy as building blocks. | 让H5制作像搭积木一样简单, 轻松搭建H5页面, H5网站, PC端网站,LowCode平台. 项目地址: https://g…...
广告发光字全科普
广告发光字全科普:从原理到类型,一篇看懂门头招牌的发光逻辑走在城市街头,从连锁品牌门头到商场导视、楼宇标识,随处可见夜晚自动亮起的广告发光字。它早已不是简单的霓虹灯,而是融合材料、工艺、光学与工程的成熟标识…...
3步搞定YOLO人脸检测:从零到生产级应用的完整实践指南
3步搞定YOLO人脸检测:从零到生产级应用的完整实践指南 【免费下载链接】yolo-face YOLO Face 🚀 in PyTorch 项目地址: https://gitcode.com/gh_mirrors/yo/yolo-face YOLO人脸检测技术正在改变计算机视觉应用的开发方式,无论你是想构…...
AI辅助开发:让快马平台生成具备语义联想能力的智能下拉词
最近在开发一个技术博客平台时,遇到了一个有趣的挑战:如何让标签输入框变得更智能?传统的下拉词匹配只能基于关键词的字面匹配,但技术领域的概念往往存在多种表达方式。比如用户输入"前端框架",系统应该能联…...
周末高质量遛娃,你真的找对地方了吗?
“周末想高质量遛娃,却不知找对地方了没?” 周末对于家长来说,是陪伴孩子的黄金时间,都希望能给孩子一段既有趣又有意义的时光。但究竟哪里才是高质量遛娃的好去处呢?下面就为您详细解答。遛娃地点基础认知类Q…...
AI 模型推理 GPU 调度性能分析
AI模型推理GPU调度性能分析:解锁算力潜能的关键 随着AI技术的快速发展,深度学习模型的推理任务对计算资源的需求急剧增加。GPU因其并行计算能力成为模型推理的核心硬件,但如何高效调度GPU资源以提升性能,成为企业和研究机构关注的…...
