福利来了!手把手教你Python爬取女神套图

article/2025/9/18 16:46:22

疲惫的生活里总要有些温柔梦想吧

目标URL:http://www.win4000.com/meinvtag4_1.html

爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图

一、网页分析

翻页查看 URL 变化规律:

http://www.win4000.com/meinvtag4_1.htmlhttp://www.win4000.com/meinvtag4_2.htmlhttp://www.win4000.com/meinvtag4_3.htmlhttp://www.win4000.com/meinvtag4_4.htmlhttp://www.win4000.com/meinvtag4_5.html

页面里看到的每张图片点击进去有详情页,里面是套图

详情页里套图URL变化规律:

http://www.win4000.com/meinv216987_1.htmlhttp://www.win4000.com/meinv216987_2.htmlhttp://www.win4000.com/meinv216987_3.html

在网页源代码中也可以直接找到数据:

图片名称  下载链接性感美女肌肤雪白撩人写真图片http://pic1.win4000.com/pic/8/e0/24b989d57c.jpg

二、爬虫基本思路

1. 获取5页的套图的URL

def get_taotu_url():for i in range(1, 6):url = f'http://www.win4000.com/meinvtag4_{i}.html'headers = {'User-Agent': choice(user_agent)}# 发送请求  获取响应rep = requests.get(url, headers=headers)# print(rep.status_code)    状态码  200# print(rep.text)html = etree.HTML(rep.text)taotu_url = html.xpath('//div[@class="tab_tj"]/div/div/ul/li/a/@href')# 过滤掉无效的urltaotu_url = [item for item in taotu_url if len(item) == 39]# 一个页面有24个图片print(taotu_url, len(taotu_url), sep='\n')

2. 进入套图详情页爬取图片def get_img(url):headers = {'User-Agent': choice(user_agent)}# 发送请求  获取响应rep = requests.get(url, headers=headers)# 解析响应html = etree.HTML(rep.text)# 获取套图名称   最大页数name = html.xpath('//div[@class="ptitle"]/h1/text()')[0]os.mkdir(r'./女神套图/{}'.format(name))max_page = html.xpath('//div[@class="ptitle"]/em/text()')# 字符串替换  便于之后构造url请求url1 = url.replace('.html', '_{}.html')for i in range(1, int(max_page[0]) + 1):url2 = url1.format(i)sleep(randint(1, 3))reps = requests.get(url2, headers=headers)dom = etree.HTML(reps.text)src = dom.xpath('//div[@class="main-wrap"]/div[1]/a/img/@data-original')[0]file_name = name + f'第{i}张.jpg'img = requests.get(src, headers=headers).contentwith open(r'./女神套图/{}/{}'.format(name, file_name), 'wb') as f:f.write(img)print(f'成功下载图片:{file_name}')

http://chatgpt.dhexx.cn/article/BZVgEL3K.shtml

相关文章

小新V4000 UEFI装WIN7系统

2.8、【保存更改】——》点【是】 2.9、然后在ESP分区点击【指派新的驱动器号(盘符)】 2.10、指派盘符之后,可看到ESP分区容量为空,指派的盘符是F盘 3、拷贝下载win7 旗舰版GHO文件进去。如果是虚拟机,你可以关闭虚拟机…

使用win10+RTX4000从零搭建pytorch+CUDA+cudnn的经验之谈

前言 最近有本地部署深度学习模型的需求,故采购了新电脑,以往都是在云端已经搭建好的环境下操作,还从来没有本地从零搭建,所以来总结一下昨天搭建时碰到的障碍和一些经验分享。注:本文不提供具体教程,因为…

(一)Win32进程通信 —— 自定义消息实现

自定义消息 系统定义消息,非用户定义,其范围在[0x0000,0x03ff] 之间,也就是说我们定义的消息的范围不能在这之间, 如果用户自定义的消息,可以使用如下两种方式(其实不止两种)&#x…

WIN7 命令行

查看具体端口占用情况:4000端口被QQ.exe占用了 C:\Users\Administrator>netstat -ano|findstr 4000 UDP 0.0.0.0:4000 : 4860 C:\Users\Administrator>tasklist|findstr 4860 QQ.exe 4860 Console 1 96,744 K ncpa.cpl打开网络设备管理窗口

爬虫实战——批量爬取明星图片(http://www.win4000.com/)

爬取网站 美桌(http://www.win4000.com) 由于该网站并没有robots协议,因此可以任意爬取。 技术路线 requestsre 除此之外用到了pypinyin库用于进行名字到拼音的转换 代码 # -*- coding: utf-8 -*- """ Created on Mon O…

Cleartext HTTP traffic to pic1.win4000.com not permitted

首先理解清楚字面意思: 不允许明文HTTP访问方式 理解字面意思之后,我们可以打开google官网,找到Android的http安全配置说明文档 大概意思是说,所有连接都应该使用安全连接( TLS 和 HTTPS 加密协议)默认均信任预装的…

给大家分享几个不错的高清壁纸网

正文: 很多朋友都在找壁纸,但是又不知道去哪里找,所有今天我给大家分享几个不错的壁纸站,当然不仅限于下面的这些壁纸站,其实壁纸站有非常得多,我只是随便给大家整理了几个。 1.极简壁纸: 网站地址:bz.z…

配置交叉编译工具链和环境变量

配置交叉编译工具链和环境变量 1 设置交叉编译工具链1.1 永久生效1.2 临时生效1.3 手动指定 2 测试交叉编译工具链2.1 测试环境变量2.2 测试交叉编译器 3 如何添加交叉编译工具链(toolchain)到环境变量?(--sysroot路径&#xff09…

配置交叉编译工具链

文章目录 1 配置交叉编译工具链1.1 永久生效1.2 临时生效1.3 手动指定 2 测试交叉编译工具链 简单记录一下配置交叉编译工具链的过程。 1 配置交叉编译工具链 交叉编译工具链存放于/home/book 目录下。设置交叉编译工具主要是设置 PATH, ARCH 和 CROSS_COMPILE 三个…

ARM学习(19)交叉编译工具链的理解

笔者来聊聊交叉编译工具链 1、认识 正常理解的,比如windows下编译出来windows上面运行,visual stdio,等,这是因为windows有能力编译出来,有对应的VC工具链,这是本地编译。 假如一个51板子或者stm32板子&a…

交叉编译工具链配置

第一步, 将文件放在Linux根目录下(目录可以自己选择,记住即可),通过下面命令解压: unzip aarch64-poky-linux-7.3-glibc-2.27.zip第二步: cd aarch64-poky-linux-7.3-glibc-2.27目录下&#…

构建gcc交叉编译工具链

如何构建一个GCC交叉编译工具链 GCC不仅是一个编译器,它是一个开源工程,可以让你建立各种编译器。一些编译器支持多线程,一些支持共享库,一些支持Multilib(典型的应用是在64位机上运行32位应用程序)&#…

ARM交叉编译工具链分类说明

为什么要用交叉编译器? 交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台(X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不…

ARM-Linux 交叉编译工具链安装

创建时间:2022-04-12-23:10 说明:在Linux下安装arm-linux交叉编译工具链 修改时间: 修改内容: 1. 前言 在ubuntu中系统自带的gcc编译器是基于x86架构的,通过该编译器编译出来的代码只能在x86架构上运行。 如果需要在x…

【linux】安装Linux的交叉编译工具链

1、linux中装软件的特点 linux中安装软件比windows中复杂。linux中安装软件一般有以下几种方法: 第一种:在线安装。譬如ubuntu中使用apt-get install vim来安装vim软件。 第二种:自己下载安装包来安装。这种方式的缺陷就是你不知道你…

制作交叉编译工具链

制作交叉编译工具链 编写可以在ARM上运行的程序需要使用arm-linux-gcc交叉编译工具。因此,需要制作一套交叉编译器工具链,使用它,可以让代码运行在ARM平台上。 制作arm-linux交叉编译工具链一般通过crosstool工具或者crosstool-NG&#xff…

【交叉编译】配置交叉编译工具链

配置交叉编译工具链 一、 设置交叉编译工具链1.永久生效2.临时生效3.手动指定 二、测试交叉编译工具链1.测试环境变量:2.测试交叉编译器: 一、 设置交叉编译工具链 交叉编译工具链用来在Ubuntu主机上编译应用程序,而这些应用程序是在ARM等其…

【编译原理】交叉工具链详解

1、嵌入式开发模型-交叉开发 在嵌入式开发过程中有宿主机和目标机的角色之分,宿主机是执行编译、链接嵌入式软件的计算机,目标机是运行嵌入式软件的硬件平台。在宿主机执行编译的流程如下: 而所谓的交叉编译就是:在一种平台上编…

linux交叉编译工具链安装

交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。   交叉编译器有很多种,我们使用 Linaro 出品的交叉编译器,Linaro 一间非营利性质的开放源代码软件工程公司,Linaro 开发了很…

常用的交叉编译工具链

交叉编译工具链是一种用于在一个平台上编译另一个平台上运行的程序的软件工具集,它通常包括编译器、链接器、汇编器等组件。 交叉编译工具链的命名一般遵循 target-platform-triplet 的格式,例如 arm-linux-gcc 表示用于生成 ARM 平台上 Linux 系统下运…