手把手教你Python爬取女神套图

Python爬虫 爬取网站全部图片实战 一.获得图片地址 和 图片名称 1.进入网址之后 按F12 打开开发人员工具点击elemnts 2.点击下图的小箭头 选择主图中的任意一个图片 那我们这里点击第一个 图片 3.显示控制台 为了验证xpath是否正确 4.通过xpath获得a的href 和 title. (请放大看)我们看到 他提示的是有10个 我们回到网站中看一下 在主页上数一下 他确实是10个 也就是说 我们获得的href 和title是没有任何问题的 那么留着为我们后面使用. ... 阅读详情

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

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

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

一、网页分析

翻页查看 URL 变化规律:

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

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

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

http://www.win4000.com/meinv216987_1.html
http://www.win4000.com/meinv216987_2.html
http://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')
        # 过滤掉无效的url
        taotu_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).content
        with open(r'./女神套图/{}/{}'.format(name, file_name), 'wb') as f:
            f.write(img)
            print(f'成功下载图片:{file_name}')

3. 完整代码实现

# -*- coding: utf-8 -*-
"""
Created on Sat Nov 7 19:15:04 2020
微信公众号: 凹凸数据
@File :spider.py
@Author :叶庭云
@优快云 :https://yetingyun.blog.youkuaiyun.com/
"""
import requests
from random import choice, randint
from lxml import etree
import os
from concurrent.futures import ThreadPoolExecutor
from time import sleep


# 自己构造请求头池 用于切换
user_agent = [
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6",
    "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 (KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6",
    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1",
    "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",
    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
    ]

# 不存在文件夹 就创建
if not os.path.exists('女神套图'):
    os.mkdir('女神套图')


# 获取5页的套图的URL
def get_taotu_url():
    taotu_urls = []
    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')
        # 过滤掉无效的url
        taotu_url = [item for item in taotu_url if len(item) == 39]
        # 一个页面有24个图片
        # print(taotu_url, len(taotu_url), sep='\n')
        taotu_urls.extend(taotu_url)

    return taotu_urls


# 进入套图详情页爬取图片
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):
        # 构造url
        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).content
        with open(r'./女神套图/{}/{}'.format(name, file_name), 'wb') as f:
            f.write(img)
            print(f'成功下载图片:{file_name}')


# 主函数调用 开多线程
def main():
    taotu_urls = get_taotu_url()
    with ThreadPoolExecutor(max_workers=4) as exector:
        exector.map(get_img, taotu_urls)
    print('=================== 图片全部下载成功啦!=====================')
    
    
if __name__ == '__main__':
    main()

运行效果如下:

程序运行一会,图片就全部爬取下来保存在本地文件夹,5页的120组套图,美滋滋。

四、其他说明

  • 不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。

  • 通过本文爬虫,可以帮助你了解套图的爬取,如何通过字符串的拼接来构造URL请求。

  • 本文利用 Python 爬虫实现批量下载女神套图,实现过程中也会遇到一些问题,多思考和调试,最终解决问题,也能理解得更深刻。


推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

年度爆款文案

点阅读原文,领廖雪峰视频资料!
Python 如何爬取女神的照片 安装 Requests 网络库 安装网络库的前提是在安装好 Python 库前提之下进行的,安装好后在命令行执行如下命令 pip install requests 命令执行结束后,如何验证 Requests 库是否正确安装呢? C:\Users\Administrator>python Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:... 阅读详情

相关推荐

教你用 Python 看遍女神视界,美女咋越看越精神呢~(内含完整源码)

前言 嗨喽,大家好!这里是魔王 [课题]: 教你用 Python 看遍女神视界 [知识点]: 海量视频数据一键保存 html标签数据解析方法 re解析数据方法 [环境介绍]: python 3.8 pycharm 2021.2 requests >>> pip install requests parsel >>> pip install parsel +python安装包 安装教程视频 +pycharm 社区版 专业版 及 激活码免费 一. 分析网站(思

python56123的博客 9840

Python爬虫实战之爬取网站全部图片(二)

通过python 来爬取网站内所有的图片到本地 第三篇是动态获取参数构造图片地址实现下载图片 传送门:https://blog.youkuaiyun.com/qq_33958297/article/details/82316019 这篇文章的目的是因为上一个文章里的地址已经无法访问了 考虑到可能有的新手没有办法去实验,这里又出了一个新的。 但是和那个网站的实现方式略微不同。 前面大致是一...

Harlan的博客 9万+

python爬取写真网站图片的demo

访问kissgoddess.com爬取某个女生该站所有套图。 未实现功能: 1.全女生爬取 2.异常捕获 3.进度存档

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

疲惫的生活里总要有些温柔梦想吧 目标URL:http://www.win4000.com/meinvtag4_1.html 爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图 一、网页分析 翻页查看 URL 变化规律: http://www.win4000.com/meinvtag4_1.html http://www.win4000.com/meinvtag4_2.html http://www.win4000.com/meinvtag4_3.html http:

码农黑羽的博客 4489

电源完整性仿真流程梳理

可根据仿真流程导图,一步一步的去设置完成仿真。仿真的关键,在于对电路回路的理解以及所放置的电压源与电流的合理性,对于去耦电容的选择,则需要根据谐振频率计算,从而选取有效滤波的容值。

csy17729158342的博客 3442

无人机机场自动化巡检钢铁厂管廊技术方案

摘要:针对钢厂管廊人工巡检效率低、成本高等问题,提出5G+无人机自主巡检解决方案。该系统由智能机库、5G无人机、AI分析平台等组成,可实现自动起降、实时数据传输、缺陷智能识别等功能。无人机配备四合一云台相机,支持42分钟续航和复杂环境飞行,通过深度学习算法自动生成巡检报告。方案实施后可提升巡检效率3倍以上,降低人工成本和安全风险,实现全天候自动化巡检,为钢厂管廊安全管理提供智能化技术支持。(149字)

gxdhlg的专栏 1685

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

Python实战社群Java实战社群长按识别下方二维码,按需求添加扫码关注添加客服进Python社群▲扫码关注添加客服进Java社群▲作者:叶庭云来源:凹凸数据作者:叶庭云优快云:ht...

<sdffdsfsdfdfs>sfsfsfsdfsdffds</sdfsDS>Fsd 661

CrossOver实战:在Mac上流畅运行《梦幻西游》端游与搬砖指南

在跨平台应用开发与系统兼容性领域,如何让为特定操作系统设计的软件在其他平台上运行,是一个经典的技术挑战。其核心原理在于通过兼容层或转译技术,将程序的系统调用和图形接口指令实时转换为目标系统能理解的格式。这项技术的价值在于极大地扩展了硬件设备的软件生态,让用户无需依赖虚拟机或双系统即可无缝使用关键应用。在游戏、专业工具等场景中,这能显著提升工作效率和用户体验。本文以经典端游《梦幻西游》为例,详细解析如何在搭载Apple Silicon或Intel芯片的Mac上,借助CrossOver这一成熟的兼容层方案,构建

weixin_30129025的博客 564

17-用python爬取下载女神照片

今天咱们要爬取花瓣网 https://huaban.com/ 设计师寻找灵感的天堂!有海量的图片素材可以下载,是一个优质图片灵感库 这次我们用 requests 登录花瓣网,爬取页面,再用正则与json提取有用信息,最后把获取的图片信息 保存到本地 一 、用到技术 python 基础 requests 登录页面获取session用户会话,下载图片 正则表达式 提取页面的有用信息 json解析页面中的图片 二、 目标页面 https://huaban.com/search/?q=女神&catego

bigzql的博客 2万+

Xilinx实战-深入AXI UART Lite IP核的配置与调试

本文详细介绍了Xilinx FPGA中AXI UART Lite IP核的配置与调试方法,包括Vivado环境下的IP核设置、关键参数优化、寄存器操作及常见问题排查。通过实战案例和代码示例,帮助开发者快速掌握AXI接口的串口通信技术,提升嵌入式系统开发效率。

weixin_29189377的博客 227

Open3d (C++) RANSAC拟合圆柱(详细过程版)

实现了一种基于RANSAC算法的圆柱拟合方法。

点云侠的博客 239

【爬虫】爬取女神套图

疲惫的生活里总要有些温柔梦想吧 目标URL:http://www.win4000.com/meinvtag4_1.html 爬取美桌网某个标签下的美女壁纸,点进详情页可以发现,里面是一组套图 一、网页分析 翻页查看 URL 变化规律: http://www.win4000.com/meinvtag4_1.html http://www.win4000.com/meinvtag4_2.html http://www.win4000.com/meinvtag4_3.html http://w

码农-Vax天道的时间宝藏 1701

【AI 赋能:Python 人工智能应用实战】16. BERT微调实战:中文新闻分类全流程(附模型蒸馏+ONNX部署完整代码)

中文新闻分类是NLP领域的经典实用任务,BERT模型凭借双向上下文建模能力,能有效解决中文歧义与长文本依赖问题,但存在推理速度慢、资源占用高的痛点。本文以THUCNews中文新闻数据集为核心,提供从数据预处理、BERT微调、模型蒸馏到生产部署的全流程实操指南。首先详解THUCNews的多编码读取与清洗(解决gbk/utf-8兼容问题);然后实现BERT微调,加入早停机制与混淆矩阵可视化,验证准确率达93.8%;接着用DistilBERT完成模型蒸馏,在仅损失0.6%准确率的前提下,将推理速度提升2.7倍。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1098

用Python解读“女神大会”,直男心目中的女神是这样的~

作者 | 徐麟,目前就职于互联网公司数据部,哥大统计数据狗,从事数据挖掘&amp;分析工作,喜欢用R&amp;Python玩一些不一样的数据编辑 | Emily前言作为一...

Python大本营的博客 7074

告别繁琐!VS Code 下OpenClaw零配置上手秘籍

本文介绍了在VSCode环境下零配置上手OpenClaw开发工具的最佳实践。首先详细说明了VSCode和OpenClaw插件的安装步骤,包括获取安装包、配置环境变量等准备工作。然后重点讲解了核心配置流程:设置OpenClaw路径、调整工作区参数、添加自定义代码片段等优化开发体验的方法。通过创建测试项目验证配置有效性,并针对常见的路径错误、运行报错等问题提供了排查方案。本文旨在帮助开发者快速搭建高效的OpenClaw开发环境,充分发挥VSCode与OpenClaw的组合优势,提升开发效率。无论是新手还是资深开

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 528

5、AIX系统硬件管理与故障诊断全解析

本文全面解析了AIX系统的硬件管理与故障诊断方法,涵盖系统管理服务(SMS)的使用、设备兼容性配置、设备配置数据库结构、常用命令如cfgmgr、lsattr、smitty devices的操作详解,并深入介绍了错误日志管理机制,包括errdemon、errpt、errlogger等命令的应用。通过实际案例分析和流程图展示,帮助系统管理员掌握从问题怀疑到诊断执行再到日志清理的完整流程,同时提供注意事项与最佳实践,助力AIX系统的稳定运行与高效维护。

y2z3a4b5c的博客 62

【教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 】

本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力。本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感。Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。

GT001007的博客 2892

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

朋友圈装死,微博蹦迪,Python教你如何掌握女神情绪变化 | 优快云博文精选

作者 | A字头来源 | 数据札记倌很多人都是在朋友圈装死,微博上蹦迪。微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是!所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用Py...

AI科技大本营 3120

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

如何用Python爬取微博内容,进行文本情绪评分,实时通知女神的真实情绪

很多人都是在朋友圈装死,微博上蹦迪。 微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!

weixin_43931438的博客 3164

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python3爬取女神图片,破解盗链问题

title: python3爬取女神图片,破解盗链问题 date: 2018-04-22 08:26:00 tags: [python3,美女,图片抓取,爬虫, 盗链] comments: true 前言 其实,抓取图片和抓取小说内容没有任何本质的区别,步骤都是一样的。 但是图片读取的时候,会遇到一个盗链问题。这个问题是花的解决时间最长的。 环境 语言: python3 操作系统: ...

497

用 Python 给全球女神颜值排个序

点击上方“码农突围”,马上关注,每天上午8:50准时推送这里是码农充电第一站,回复“666”,获取一份专属大礼包真爱,请设置“星标”或点个“在看”作者 |来源 |前言...

欢迎关注公众号:【码农突围】,公号后台回复9999,可以获取一份500页的LeetCode刷题笔记。 929

python做的网站_用Python做个女神网站

学 Python,从爬女神开始,做网站开始先来看看最后做成的网站(https://nvshen.luobodazahui.top/#)支持给心仪的女神点赞加星哦!啥也不说,今天是来送福利的女神大会不是知道有多少人知道“懂球帝”这个 APP(网站),又有多少人关注过它的一个栏目“女神大会”,在这里,没有足球,只有女神哦。画风是这样的女神评分,全部是由球迷来决定,是不是很赤鸡,下面就一起来看看球迷眼中...

weixin_39613951的博客 1715

教新手小白如何通过五分钟学会用Python爬取女神照片!

今天咱们要爬取花瓣网 https://huaban.com/ 设计师寻找灵感的天堂!有海量的图片素材可以下载,是一个优质图片灵感库 这次我们用requests登录花瓣网,爬取页面,再用正则与json提取有用信息,最后把获取的图片信息 保存到本地 一 、用到技术 python 基础 requests登录页面获取session用户会话,下载图片 正则表达式提取页面的有用信息 json解析页面中的图片 二、 目标页面 https://huaban.com/search/?q=女神&c...

爬遍所有网站 708
上一篇: 女友回老家了!五一没啥事,手把手带你搭建一台服务器!
下一篇: 认真推荐几个牛逼的公众号
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值