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

前言

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

开发环境:

  • 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小姐姐嘚美色叭~

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

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







尾语 💝

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

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

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

—— 心灵鸡汤

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值