【python】批量采集次元岛cos美图,只是为了学习~

news2024/11/16 15:46:22

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

这里写目录标题

      • 前言
      • 开发环境:
      • 模块使用:
      • 代码展示
      • 美图欣赏
      • 尾语 💝

开发环境:

  • Python 3.8

  • Pycharm

模块使用:

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

  • requests >>> 数据请求模块

  • re >>> 匹配提取数据

  • os >>> 自动创建文件夹

代码展示

导入模块

# 导入数据请求模块
import requests
# 导入正则表达式模块
import re
# 导入文件操作模块
import os

python符号都是英文符号

字符串引号: 单引号 / 双引号 / 三引号 <也可以作为多行注释>

单引号里面必须是双引号 不能是单引号

python常用单词词汇: 135个左右+

“”"

  1. 发送请求, 模拟浏览器对于 url地址 发送请求

    • 模拟浏览器 <headers请求头>

      可以直接复制粘贴

    采集单个图集数据

    采集多个图集数据:

    • 请求某一个图集详情页链接 --> 获取所有图集详情页url

      图集ID

    采集多页图集数据:

“”"
模拟浏览器

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

请求链接 图集列表页面

link = 'http://*****/photo/list/0-4-1'

发送请求

html_data = requests.get(url=link, headers=headers).text

解析数据 .*? 可以匹配任意字符<除了\n>

img_id_list = re.findall('<a href="/photo/show/(\d+)">', html_data)
# for循环
for img_id in img_id_list:
    print(img_id)
    # 请求链接
    url = f'http://******/photo/show/{img_id}'
    # 发送请求
    response = requests.get(url=url, headers=headers)
    # <Response [200]> 表示请求成功
    print(response)

“”"

  1. 获取数据, 获取网页源代码

  2. 解析数据, 提取我们想要的数据内容

    图集标题 / 图片url地址

    re正则

    re.findall(‘什么数据’, ‘什么地方’) --> re模块<工具>里面findall方法 <找到所有我们想要的数据内容>

“”"

    # 标题
    title = re.findall('<title>(.*?) - 次元岛</title>', response.text)[0]
    # 替换特殊字符
    new_title = re.sub(r'[\/:*?"<>|]', '', title)
    print(title)
    # 图片内容 <列表>
    img_list = re.findall('<a href="javascript:;"><img src="(.*?)"></a>', response.text)
    num = 1
    # 把列表中图片链接 一个一个提取出来, for循环遍历
    for img in img_list:

“”"

  1. 保存数据, 保存到本地文件夹当中 <图片/视频/音频/特定格式文件都是获取二进制内容>

    图片链接地址 --> 获取图片内容

    对于 图片链接地址 发送请求 获取数据内容

“”"

        # 获取图片的二进制数据
        img_content = requests.get(url=img, headers=headers).content

自动创建文件夹

        file = f'data\\{new_title}\\'
        # 判断是否存在这个文件夹
        if not os.path.exists(file):
            # 自动创建文件
            os.makedirs(file)

        with open(file + new_title + str(num) + '.jpg', mode='wb') as f:
            f.write(img_content)
            num += 1
        print(img)

更多python资料、源码、教程: 点击此处跳转文末名片获取

美图欣赏

代码展示完毕,现在我们来欣赏一下COS小姐姐嘚美色叭~

(因为会屏蔽原因,会弄得没有那么大胆,不然都看不了,哈哈哈哈哈哈,

要看原图嘚可直接去网站看噢~)







尾语 💝

要成功,先发疯,下定决心往前冲!

学习是需要长期坚持的,一步一个脚印地走向未来!

未来的你一定会感谢今天学习的你。

—— 心灵鸡汤

本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/518192.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ACWING 高精度-加减乘除 791 - 794

读取字符串的高精度数字&#xff0c;然后用int数组存上&#xff0c;通过最基础的每位加减乘除和进位等操作完成。 下方给出了所有的操作函数&#xff0c;注意函数的所有输入均为vector 的数组&#xff0c;并且数组存储是从数的低位开始存1000 [0,0,0,1]&#xff0c;和正常存储…

Linux -- 进阶 Web服务器 虚拟主机 -- 基于端口号

虚拟主机 一个Web 服务器&#xff0c;如果只能运行一个网站的话&#xff0c;那么对于一些经费不是很足的小公司来说&#xff0c; 那就有些奢侈了&#xff0c;资源没有办法完全利用上 &#xff08; 无论是 内存&#xff0c;CPU&#xff0c;硬盘&#xff0c;带宽等等 &#xff09…

EIScopus检索 | 2023年智能交通与未来出行国际会议(CSTFM 2023)

会议简介 Brief Introduction 2023年智能交通与未来出行国际会议(CSTFM 2023) 会议时间&#xff1a;2023年7月28日-30日 召开地点&#xff1a;中国长沙 大会官网&#xff1a; CSTFM 2023-2023 International Conference on Smart Transportation and Future Mobility(CSTFM 202…

OpenCL编程指南-3.3矢量数据类型

矢量数据类型 OpenCL C还增加了对矢量数据类型的支持。矢量数据类型如下定义&#xff0c;首先是类型名&#xff0c;具体包括char、uchar、short、ushort、int、uint、float、long或ulong&#xff0c;后面是一个字面值n来定义矢量中的元素个数。对于所有矢量数据类型&#xff0…

母亲节快到了,祝所有母亲节日快乐!Happy Mother‘s Day

《游子吟》唐孟郊 慈母手中线&#xff0c;游子身上衣。 临行密密缝&#xff0c;意恐迟迟归。 谁言寸草心&#xff0c;报得三春晖。 My kind mother has a needle and thread in her hand,Making new clothes for her son who is to travel far away. She is busy sewing c…

FE_Vue学习笔记 Vue监视数据的原理

1 通过更新时的一个问题-this.personList[0] { 更新值 } 不起作用 引入 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script type"text/javascript" src"…

每日一博 - 闲聊“突发流量”的应对之道

文章目录 概述思路 概述 面对“突发流量”的情况,我会采取以下应急措施: 扩容现有资源。这是最直接和最常用的方法。可以通过增加CPU、内存、节点等来扩容。典型案例是双11等大促期间,阿里会大规模扩容幕布等系统以应对流量激增。横向扩展,增加更多服务器或节点。通过增加服务…

lambda处理异常四种方式

最近对接第三方呼叫系统&#xff0c;第三方SDK的所有方法里都有异常抛出&#xff0c;因为用到了lambda&#xff0c;所以异常处理还是很必要的。 本文主要用到了四种解决方案&#xff1a; 直接代码块处理自定义函数式接口&#xff0c;warp静态方法通过Either 类型包装通过Pair 类…

目前收集到好用且免费的ChatGPT镜像站

ChatGPT是一个基于人工智能的聊天机器人&#xff0c;它可以与用户进行自然语言交互。ChatGPT使用了最新的自然语言处理技术&#xff0c;包括深度学习和神经网络&#xff0c;以便更好地理解用户的意图和回答用户的问题。 ChatGPT可以回答各种问题&#xff0c;包括但不限于常见问…

Linux——进程信号2

阻塞信号 信号其他相关常见概念 实际执行信号的处理动作称为信号递达(Delivery) 信号从产生到递达之间的状态,称为信号未决(Pending)。 进程可以选择阻塞 (Block )某个信号。 被阻塞的信号产生时将保持在未决状态,直到进程解除对此信号的阻塞,才执行递达的动作. 注意,阻塞和忽略…

一文4000字用Jmeter +Maven+jenkins实现接口性能全自动化测试

背景&#xff1a; 首先用jmeter录制或者书写性能测试的脚本&#xff0c;用maven添加相关依赖&#xff0c;把性能测试的代码提交到github&#xff0c;在jenkins配置git下载性能测试的代码&#xff0c;配置运行脚本和测试报告&#xff0c;配置运行失败自动发邮件通知&#xff0c…

分布式id解决方法--雪花算法

uuid&#xff0c;jdk自带&#xff0c;但是数据库性能差&#xff0c;32位呀。 mysql数据库主键越短越好&#xff0c;Btree产生节点分裂&#xff0c;大大降低数据库性能&#xff0c;所以uuid不建议。 redis的自增&#xff0c;但是要配置维护redis集群&#xff0c;就为了一个id&a…

【前后端分离博客】学习笔记01 --- 登录模块Sa-Token

前言 用于记录自己学习博客项目的流程 基于Springboot Vue3 开发的前后端分离博客 项目源码&#xff1a;Blog: 基于SpringBoot Vue3 TypeScript Vite的个人博客&#xff0c;MySQL数据库&#xff0c;Redis缓存&#xff0c;ElasticSearch全文搜索&#xff0c;支持QQ、Gite…

20230509MTCNN2

卷积切分图片 怎么切分图片? 使用opencv,PIL切分图片有什么问题? 慢 使用 卷积来切分图片 卷积的运算过程 类似于切图 卷积 对输入图片的尺寸 有没有 的要求? 就是 输入的图片尺寸 必须大于 卷积核的大小 test1.py import torch from torch import nn""&quo…

springboot + vue3实现视频播放Demo

文章目录 学习链接前言ffmpeg安装ffmpeg配置环境变量分割视频文件 后台配置WebConfig 前端代码video.js示例安装依赖视频播放组件效果 Vue3-video-play示例安装依赖main.js中使用视频播放组件效果 学习链接 ffmpeg官网 长时长视频java存储及vue播放解决方法 【 攻城略地 】vue…

BitKeep逆势崛起:千万用户的信任,终点还未到来

在全球范围内&#xff0c;BitKeep钱包如今已拥有超过千万忠实用户。 当我得知这一令人震撼的数字时&#xff0c;既感到惊讶&#xff0c;同时也觉得这是意料之中的事情。几年来关注BitKeep的发展历程&#xff0c;我深切地感受到了这家公司的蓬勃壮大。回顾2018年他们发布的第一个…

linux0.12-8-9-fork.c

[362页] 1、 verify_area函数给其他文件使用的&#xff0c;跳转开始位置&#xff1b; 2、 copy_mem函数复制内存页表&#xff1b; 3、 copy_process函数是fork.c主要函数&#xff1b; 4、find_empty_process函数就2个作用&#xff1a;在一个范围内找last_pid和找空槽&#xff1…

如何利用互联网优势进行茶叶销售?

茶叶是中国传统文化的重要组成部分&#xff0c;具有丰富的文化内涵和高度的营养价值。如今&#xff0c;随着互联网的普及&#xff0c;越来越多的茶叶销售商&#xff08;文章编辑ycy6221&#xff09;开始利用互联网的优势来开拓市场。本文将介绍如何利用互联网优势进行茶叶销售。…

SecureCRT的下载安装

亲测成功了&#xff0c;按照下面的步骤完成即可&#xff01; 下载安工具包包地址连接&#xff1a;网盘地址点击即可 提取码&#xff1a;0lp7 1、下载SecureCRT 2、从百度网盘下载SecureCRT&#xff0c;页面如下 3、安装SecureCRT 4、激活SecureCRT 第一步&#xff1a;打开安装…

自学Java怎么找工作?好程序员学员大厂面试经验分享!

简历要详细&#xff1a; 简历中的项目用到的技术点和个人负责的模块尽量写详细一些。其次&#xff0c;根据自己项目中用到的熟悉的技术点&#xff0c;在个人技能介绍模块去突出&#xff0c;面试官基本会根据你简历上写的去提问的&#xff0c;这样我们回答起来就会更加得心应手。…