我是靠谱客的博主 清脆西牛,最近开发中收集的这篇文章主要介绍你找到了大量的cos美图 ?那我赶紧用Python一键保存下来 ~ 【含视频教程】前言正文,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

嗨嗨,大家好啊,最近对cos有点感兴趣,但是啊,只是喜欢看图,不是想自己cos哈
看到美女就忍不住一张张保存,但是吧这样有些麻烦,就想着看能不能用python解决一下
所以…嘿嘿 这篇文章就出来了
咳咳,那我可不只有文章,末尾还有视频教程哦 ~

请添加图片描述

正文

开发环境:

  • Python 3.8
  • Pycharm

模块使用:

第三方模块 需要安装 在cmd里面 进行 pip install requests / parsel

  • requests
  • parsel

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests)
    回车
  2. 在pycharm中点击Terminal(终端) 输入安装命令

实现基本思路:

一. 数据来源分析:

1、分析这些图片url地址在哪?

  • 开发者工具抓包分析, 分析图片链接在什么地方

I. F12 打开开发者工具 --> 刷新网页 <让本网页数据内容重新加载一遍>

II. 通过 Img 可以找图片url地址

-------------------分析图片url地址可以从哪里获得-----------------------

III. 通过图片链接参数 去搜索 数据从哪里来的

获取所有图集 —> 获取所有图集详情页url --> 目录页面发送请求

二. 代码实现步骤

  1. 发送请求, 对于图集目录页发送请求
  2. 获取数据, 获取服务器返回响应数据
  3. 解析数据, 提取我们想要 图集详情页url地址
  4. 发送请求, 对于图集详情页url地址 发送请求
  5. 获取数据, 获取服务器返回响应数据
  6. 解析数据, 提取图片url地址 以及标题
  7. 保存数据, 把图片内容 保存本地文件夹

在这里插入图片描述

在这里插入图片描述

代码

源代码 【点击领取】

# 导入数据请求模块  --> 第三方模块 需要 在cmd里面 pip install requests
import requests
# 导入数据解析模块  --> 第三方模块 需要 在cmd里面 pip install parsel
import parsel
# 导入正则模块 --> 内置模块 不需要安装
import re
# 导入文件操作模块 --> 内置模块 不需要安装
import os.path

在这里插入图片描述

# 构建翻页
for page in range(2, 450):
    # format 字符串格式化方法
    print(f'正在采集第{page}页的数据内容')
    # 确定请求url地址  <目录页>

在这里插入图片描述

伪装 请求头 防止被反爬

    headers = {
        # 浏览器基本身份信息
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }

发送请求

通过requests模块里面get请求方法, 对于url地址发送请求, 并且携带上headers请求头伪装, 最后用自定义变量response接受返回数据

    response = requests.get(url=url, headers=headers)
    # <Response [200]>  表示请求成功了 响应对象
    print(response)

获取数据, 获取服务器返回响应数据 print(response.text)

解析数据, 提取我们想要 图集详情页url地址

推荐使用 parsel

  • 获取 response.text —> 返回html字符串数据内容
  • css选择器 根据标签属性内容, 提取数据

转换数据 转成可以解析对象 <Selector xpath=None data='<html>rn<head>rn <meta charset="ut...'>

    selector = parsel.Selector(response.text)

使用css选择器提取数据 .pics ul li .tits css语法定位标签/元素 getall 获取所有

    href = selector.css('.pics ul li .tits::attr(href)').getall()

for循环遍历 提取列表元素

    for index in href:

在这里插入图片描述

发送请求

对于图集详情页url地址 发送请求 5. 获取数据, 获取服务器返回响应数据

        index_data = requests.get(url=index_url, headers=headers).text

解析数据

提取图片url地址 以及标题

        index_selector = parsel.Selector(index_data)

提取图片链接

.talk_pic img 定位元素/标签 img<标签名>::attr(src) 提取属性 src <属性名>

        img_url_list = index_selector.css('.talk_pic img::attr(src)').getall()

图片标题

        title = index_selector.css('.border_bottom::text').get()

替换特殊字符

        new_title = title = re.sub(r'[/:*?"<>|]', '', title)

保存数据

有什么不懂的问题可以 点击这里

        num = 1
        # 自动创建文件夹
        file = f'img\{new_title}\'
        # 如果没有这个文件夹
        if not os.path.exists(file):
            # 自动创建文件夹
            os.makedirs(file)
        # for循环遍历 提取列表元素
        for img_url in img_url_list:
            # 获取图片二进制数据
            img_content = requests.get(url=img_url, headers=headers).content
            # 保存图片
            with open(file + new_title + str(num) + '.jpg', mode='wb') as f:
                # 写入数据
                f.write(img_content)
                # 每次循环 +1
                num += 1
            print(title, img_url)

效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

视频教程

看了记得给我三连 ~ 还有疑问的话点击蓝色字体

【Python爬虫】有大量美图不知道怎么一键保存吗?python教你实现cos美图下载

好啦,今天的分享到这里就结束了 ~
对文章有问题的,或者有其他关于python的问题,可以在评论区留言或者私信我哦
觉得我分享的文章不错的话,可以关注一下我,或者给文章点赞(/≧▽≦)/

请添加图片描述

最后

以上就是清脆西牛为你收集整理的你找到了大量的cos美图 ?那我赶紧用Python一键保存下来 ~ 【含视频教程】前言正文的全部内容,希望文章能够帮你解决你找到了大量的cos美图 ?那我赶紧用Python一键保存下来 ~ 【含视频教程】前言正文所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部