zl程序教程

您现在的位置是:首页 >  后端

当前栏目

邪恶的想法冒出,立马启动python实现美女通通下

Python 实现 启动 想法 美女
2023-09-14 09:05:35 时间

前言

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

完整源码、python资料: 点击此处跳转文末名片获取

当我在首页刷到这些的时候~

我的心里逐渐浮现一个邪念:我把这些小姐姐全都采集,可以嘛?

答案当然是可以的~毕竟就我这技术,怎么可能难倒呢!!

开发环境:

首先我们先来安装一下写代码的软件(对没安装的小白说)

  • 版 本: python 3.8

  • 编辑器: pycharm 2022.3.2 专业版

软件安装好后,再来安装一下要用到的第三方模块

  • requests >>> pip install requests

安装第三方模块方法:win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

再就是最后合并视、音频要用到的合并软件

  • ffmpeg

实现一个案例的流程:

一. 思路分析

案例的分析 media .mp4 .mp3 .m4a m3u8视频流

.m4s: shi频/音频 格式

数据来源分析: 找到shi频内容

network抓包

查看网页源代码

  1. 如果在XHR当中没有找到数据

    搜索了, 筛选了 就是找不到

  2. *仔细观察网页源代码

二. 代码实现基本流程

  1. 发送请求 使用代码的方式访问网站

  2. 获取数据 取出网页源代码

  3. 解析数据 提取shi频链接

  4. 保存数据

代码展示:

导入模块

import requests
import re       # 正则表达式模块
import json
import pprint
import subprocess
import os

伪装(请求头)

headers = {
    # 用户信息
    "cookie": "buvid3=355AA300-6A61-04E5-A05C-E891D886F69632716infoc; b_nut=1675085932; i-wanna-go-back=-1; _uuid=387EA3810-FBF5-E92C-827E-2510B578C5B9A33232infoc; buvid4=15C69C98-F6A7-EC6A-872F-E69C1840DD6D33724-023013021-1pW1w45e5fZS9RtebDiGZw%3D%3D; nostalgia_conf=-1; CURRENT_FNVAL=4048; rpdid=|(kmJY|k))lY0J'uY~l|)lmY|; SESSDATA=17eb9f1a%2C1690782878%2C6a25c%2A22; bili_jct=4af9076b42f76603dfe4cf018ad2000f; DedeUserID=422789639; DedeUserID__ckMd5=fc4901c78719b545; CURRENT_QUALITY=80; b_ut=5; b_lsid=51ED8F105_1861C3EEC10; theme_style=light; is-2022-channel=1; sid=66dafqju; fingerprint=97ca5a8b555e63aca787c9cd27273c7e; buvid_fp_plain=undefined; buvid_fp=8cc52ae38b592ff26dc2b393eebd890b; PVID=2; innersign=1; bp_video_offset_422789639=758803412994228200",
    # 防盗链
    "referer": "https://****.com/",
    # 浏览器基本信息
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"
}
url = 'https://****.com/video/BV1qv4y1k7UE/?vd_source=8f216a44bce0dbe14e3447c34c2ab3e2'
  1. 发送请求
response = requests.get(url, headers=headers)
  1. 获取数据
html_data = response.text
  1. 解析数据
# __playinfo__=(.*?)</script>
json_str = re.findall('__playinfo__=(.*?)</script>', html_data)[0]
# <h1 .*?>(.*?)</h1>
title = re.findall('<h1 .*?>(.*?)</h1>', html_data)[0]

Python基础 字典

json_data = json.loads(json_str)
# pprint.pprint(json_data)
audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
print(audio_url)
video_url = json_data['data']['dash']['video'][0]['baseUrl']
print(video_url)
  1. 保存数据
audio_data = requests.get(audio_url, headers=headers).content
with open(f'{title}.mp3', mode='wb') as f:
    f.write(audio_data)
video_data = requests.get(video_url, headers=headers).content
with open(f'{title}.mp4', mode='wb') as f:
    f.write(video_data)

ffmpeg = f'ffmpeg -i {title}.mp4 -i {title}.mp3 -acodec copy -vcodec copy {title+"-out.mp4"}'
subprocess.run(ffmpeg)
os.remove(f'{title}.mp4')
os.remove(f'{title}.mp3')

尾语 💝

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

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

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

—— 心灵鸡汤

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

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