过年了,我采集采集m3u8格式做做动态壁纸不过分吧

前言

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

首先澄清一下,我用Python收集这些视频,绝不是想做别的什么,

真的只是用来做动态壁纸,大家不要误会!我不是那样的人~

这样的不过份吧

环境

  • Python
  • pycharm

模块使用

第三方模块

  • requests

内置模块

  • re
  • json

如何安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令

代码实现步骤: <基本四大步骤>

  1. 发送请求, 对于视频播放详情页url地址发送请求

  2. 获取数据, 获取网页源代码 <获取服务器返回response响应数据>

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

  4. 发送请求, 对于m3u8文件url发送请求

  5. 获取数据, 获取服务器返回response响应数据

  6. 解析数据, 提取所有ts文件内容 <视频片段url>

  7. 保存数据, 保存视频内容到本地

  8. 多个视频采集

  9. 多页数据采集

  10. 根据关键词视频下载

  11. 根据关键词视频下载

代码展示

import time
import requests  # 数据请求模块
import re  # 正则表达式模块
import json
import pprint

for page in range(3, 29):
    print(f'正在采集第{page}页的数据')
    time.sleep(1)
    link = 'https://www.****.cn/u/29946310'
    data = {
        'quickViewId': 'ac-space-video-list',
        'reqID': page+1,
        'ajaxpipe': '1',
        'type': 'video',
        'order': 'newest',
        'page': page,
        'pageSize': '20',
        't': '1653659024877',
    }
    headers = {
        'referer': 'https://***/u/29946310',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
    }
    response = requests.get(url=link, params=data, headers=headers)
    # pprint.pprint(response.text)
    ac_id_list = re.findall('atomid.*?:.*?"(\d+).*?"', response.text)
    print(ac_id_list)


    for ac_id in ac_id_list:
        url = f'https://***/v/ac{ac_id}'
        headers = {
            'referer': f'https://***/u/{ac_id}',
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36'
        }
        response = requests.get(url=url, headers=headers)
        title = re.findall('<title >(.*?) - 弹幕视频网 - 认真你就输啦 \(\?ω\?\)- \(- ゜\)つロ</title>', response.text)[0]
        html_data = re.findall('window.pageInfo = window.videoInfo = (.*?);', response.text)[0]
        json_data = json.loads(html_data)
        m3u8_url = json.loads(json_data['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0]
        m3u8_data = requests.get(url=m3u8_url, headers=headers).text
        m3u8_data = re.sub('#E.*', '', m3u8_data).split()
        print(title)
        print(m3u8_url)

可抗拒的原因所以地址我删了, 也有对应的视频教程,可以文章下方扫码免费领

过年了,我采集采集m3u8格式做做动态壁纸不过分吧_第1张图片

过年了,我采集采集m3u8格式做做动态壁纸不过分吧_第2张图片

过年了,我采集采集m3u8格式做做动态壁纸不过分吧_第3张图片

兄弟们快去试试吧!

尾语

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

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

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

—— 心灵鸡汤

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

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

你可能感兴趣的:(爬虫,python,pycharm,开发语言,程序人生)