当前位置: 首页 > 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)

相关文章:

Python爬取高清美女图片

文章概述 本文将详细介绍如何使用Python编写一个简单的爬虫来抓取高清美女图片。我们将利用requests库来发送HTTP请求&#xff0c;使用BeautifulSoup库来解析HTML文档&#xff0c;从而提取出图片的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基本结构输入通道转换模式单次转换&#xff0c;非扫描模式连续转换&#xff0c;非扫描模式单次转换&#xff0c;扫描模式连续转换&#xff0c;扫描模式 触发控制数据对齐转换时间校准硬件电路电位器产生可调电压的电路…...

第三方jar自带logback导致本地日志文件不生成

1.问题及解决 这是依赖的jar包&#xff0c;自己有logback&#xff0c;只打印到控制台&#xff0c;导致我们项目里配置的error级别日志不会生成到日志文件中去。ai给的答案是自己控制加载顺序&#xff0c;但很麻烦&#xff0c;--logging.config也不行&#xff0c;最好下了个7z压…...

国产数据库备份恢复实现

数据库备份恢复是数据库高可用的基本能力&#xff0c;如何通过备份数据快速高效的恢复业务并且满足不同场景下的恢复需求&#xff0c;是各数据库厂商需要关注的要点。本文将介绍几种国产数据库的备份恢复功能&#xff0c;以加深了解。 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文件后加/ 添加完成后访问 木马 然后木马的网址 在哥斯拉测试并且添加 添加成功 然后我们就成功进去啦、 二.弱口令 点击后输入默认用户名、密码&#xff1a;tomcat/tomcat 登陆之后上传一个jsp文件 后缀改成war 然后访问我…...

分布式消息队列Kafka

分布式消息队列Kafka 简介&#xff1a; Kafka 是一个分布式消息队列系统&#xff0c;用于处理实时数据流。消息按照主题&#xff08;Topic&#xff09;进行分类存储&#xff0c;发送消息的实体称为 Producer&#xff0c;接收消息的实体称为 Consumer。Kafka 集群由多个 Kafka 实…...

C# Unity 面向对象补全计划 七大原则 之 迪米特法则(Law Of Demeter )难度:☆☆☆ 总结:直取蜀汉

本文仅作学习笔记与交流&#xff0c;不作任何商业用途&#xff0c;作者能力有限&#xff0c;如有不足还请斧正 本系列作为七大原则和设计模式的进阶知识&#xff0c;看不懂没关系 请看专栏&#xff1a;http://t.csdnimg.cn/mIitr&#xff0c;查漏补缺 1.迪米特法则&#xff08;…...

【C++】—— 类与对象(四)

【C】—— 类与对象&#xff08;四&#xff09; 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做了一个无边框界面&#xff0c;关闭后再打开&#xff0c;子控件的点击以及hover效果不可用。 setWindowFlags(windowFlags() | Qt::Dialog | Qt::FramelessWindowHint);//去掉标题栏解决方案&#xff1a; 在网上发现可以通过重写showEvent(QShowEvent* showE…...

StringJoiner更优雅创建含分隔符的字符序列

文章目录 1 why2 what3 how4 练习手段 1 why StringBuilder拼接包含分隔符的字符序列时&#xff0c;分隔符需要一个一个添加&#xff0c;或者需要手动删除末尾冗余的分隔符&#xff0c;代码不美观&#xff0c;不好看。 比如&#xff0c;单个字符串依次拼接时&#xff1a; Stri…...

线程池原理(一)线程池核心概述

更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 线程回顾 创建线程的方式 继承 Thread 类实现 Runnable 接口 创建后的线程有如下状态&#xff1a; NEW&#xff1a;新建的线程&#xff0c;无任何操作 public static void main(String[] args) {Thread…...

关于redisson的序列化配置

由于使用redisson来存储list&#xff0c;返回的数据格式总是不对 原因是配置的序列化格式不对 Bean(value "redissonDtClient") public RedissonClient redissonClient() {RedisConnectionProperties.RedisConfigEntity configEntity properties.getDt();log.inf…...

CentOS安装ax200驱动

如果内核低于5.1需要安装一下内核 详细移步&#xff1a;Centos7安装高版本内核 大致如下&#xff1a; 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翻译为“响应式编程”&#xff0c;的确不好理解。什么是Reactive&#xff1f;Reactive被翻译为“反应”&#xff0c;其英文原意是“事物对变化信号的回应、反应”。我热了&#xff0c;空调自动开&#xff0c;这就是空调对我的Reaction&#xff0c;我和空调…...

Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升

导读&#xff1a; 开源无国界&#xff0c;StarRocks 自开源以来&#xff0c;近3年的时间里已在全球数据技术领域崭露头角。我们欣喜地发现&#xff0c;越来越多的海外用户正在使用并积极推广着 StarRocks。为了促进知识共享&#xff0c;StarRocks中文社区将精选优秀文章与大家共…...

代码+视频,R语言VRPM绘制多种模型的彩色列线图

列线图&#xff0c;又称诺莫图&#xff08;Nomogram&#xff09;&#xff0c;它是建立在回归分析的基础上&#xff0c;使用多个临床指标或者生物属性&#xff0c;然后采用带有分数高低的线段&#xff0c;从而达到设置的目的&#xff1a;基于多个变量的值预测一定的临床结局或者…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

华为OD机考-机房布局

import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...