# 随机小姐姐API短视频引流源码

Posted 夏柔站长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了# 随机小姐姐API短视频引流源码相关的知识,希望对你有一定的参考价值。

随机小姐姐API短视频引流源码

参与贡献

  1. Fork 本仓库
  2. 夏柔、浑欲不胜簪
  3. 夏柔Api官网:api.aa1.cn
  4. 视频源节点线路 国内20MB独享专线,视频好的情况下秒播放;

在线演示:https://www.wpon.cn/lsp
Gitee地址:https://gitee.com/xiarou_admin/free-girls-video/

更新

预告

  1. 更新帅哥 / 美女分类
  2. 更新 观看历史记录
  3. 持续更新中

2022/11/11

  1. 首页改版,全新UI
  2. 新增在线观看自动刷新短视频 (夏柔api)
  3. 新增播放完自动刷新 无限制播放视频
  4. 新增每个视频显示视频介绍,让用户一目了然
  5. 删除 pc.html / index2.html PC端播放页面待定;

2021 若干

  1. 新增滑动刷新页面,无需点击
  2. 优化视频流畅体验
  3. PC端自动播放

介绍

夏柔一时兴起,昨晚连夜通宵搞定了这个源码~

手机端展示

<

手把手带你从零基础抓取A站短视频,并且制作从动态壁纸,这些小姐姐我全都要!

大家好,我是辣条。

我知道大家都是冲着学技术来的,肯定不是为了那些好看的小姐姐进来的,所以直接进入主题吧。

在这里插入图片描述

采集数据目标

网址:A站
在这里插入图片描述

效果展示

在这里插入图片描述

工具使用

开发环境:win10、python3.7
开发工具:pycharm、Chrome
工具包:requests、docx,lxml

重点学习内容

  1. lxml的使用
  2. m3u8文件处理
  3. ts文件合成MP4

项目思路解析

通过xpath方式提取分类之后的首页数据
获取到每个视频的vacid
拼接进入详情页面的url地址
在这里插入图片描述

https://www.acfun.cn/{}

请求详情页面
获取网页源代码的backupUrl的对应的值
请求对应的m3u8的文件地址

https://tx-safety-video.acfun.cn/mediacloud/acfun/acfun_video/hls/b6f3561527ea7674-4c05d717a155db2cd75c5e3455bcc285-hls_4k_h264_1.m3u8?pkey=ABCVjggV-526Eqfc2aQQzGQs8FaP_JPEFMV8eoqWKXmTZNXICw3L3XRSv0vwV-O7fLtKIhIyZzMNqkxhT_7BJ8X0gLmIuej3RM1T37Wg7iIGLBDUcMNB27vJ8DIX0F2_QAyLKZ7DGb4h7C_7MvCIy1arBJWk0OVyDm5Gvn7iS1clxQbLPd9N1J-yRHeuoMAQ-bF-cQca4Dpi0jz2XSyxAqvj1U-kNkybrP2xBwTxT1gG5CRLcOu0uBvjVryvdLm_bwQ&safety_id=AAKL9ykXaHfy4Hgj44E9P_hc\\%22],\\%22codecs\\%22:\\%22avc1.640033,mp4a.40.2\\%22,\\%22hidden\\%22:false,\\%22disableAdaptive\\%22:false,\\%22comment\\%22:\\%22b6f3561527ea7674/HLS_4K_H264_1\\%22,\\%22id\\%22:1,\\%22url\\%22:\\%22https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/hls/b6f3561527ea7674-4c05d717a155db2cd75c5e3455bcc285-hls_4k_h264_1.m3u8?pkey=ABCVjggV-526Eqfc2aQQzGQs8FaP_JPEFMV8eoqWKXmTZAnICSBGjLT_PyFsslJJXiOP2eQEO--qVGdx3RAVv2u-HzgG2V3aGkpXflsVIfuLURk-uyEAGOvuDvQoIX64vgGt9w5oTxJ1X_6LoiSXl2Z-7Kb5ytDpExAACRaRMSOqDcxaB-Q9niMjCa9yuAs40UKwxyIzZdmKyRjL2GRFwBqH0CjM9ZKxkjmQ7nuTn4bfnFyWP2LIrkeW6RDFLuG1mgc&safety_id=AAKL9ykXaHfy4Hgj44E9P_hc

在这里插入图片描述
请求m3u8的文件地址
解析对应的m3u8文件
在这里插入图片描述
视频数据是ts视频拼接起来的
取出m3u8文件里面的每个ts的下载地址
拼接成新的视频下载地址

https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/hls/b6f3561527ea7674-723550b3c6b1ff9a4b05be736acd7098-hls_720p_2.00000.ts?pkey=ABClqkBWwxUgoTqPKsnjoZ5X2vsyNNN9F0mDGRhhZMiyRUZkfurznShxCBqmWZWTtj2M2zCGcFwL-F30xT89BkrNoA4QT7yBQ9q4sjyRJpmBrVqcd2vQHWZhjTzkUsPY2hQuWtSoYHBrWJbqTgNbWVF-k0vjXxbDsN311gKd358IpcQnTvboQDX1wOKspWfm_OHyXMkPJqdCulUQ6wVBA6i5kE9RGNnVVgyFKxbRzPiKzyKfCnzYo6x723CCbbRNnBM&safety_id=AAKL9ykXaHfy4Hgj44E9P_hc

下载对应的ts视频数据
将每个ts数据以追加的形式写入到MP4的文件里

简易源码分析

import requests
import re
from tqdm import tqdm
from lxml import etree
import os


def request_data(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.42'
    }
    response = requests.get(url, headers=headers)
    return response


def save(name, video):
    # path = f'{name}\\\\'
    if not os.path.exists("视频"):
        os.makedirs("视频")
    with open("视频/" + name + '.mp4', mode='ab') as f:
        f.write(video)


start_url = "https://www.acfun.cn/v/list218/index.htm"
res = request_data(start_url)
html_data = etree.HTML(res.text)
acid_list = html_data.xpath('//div[@class="list-content-item"]/a[1]/@href')

# ac = input('输入acid:')
for ac in acid_list:

    url = 'https://www.acfun.com{}'.format(ac)
    print(url)
    # 请求页面地址 获取到 m3u8地址
    data = request_data(url).text
    m3u8_url = re.findall('backupUrl(.*?)\\"]', data)[0].replace('"', '').split('\\\\')[-2]
    title = re.findall('"title":"(.*?)"', data)[0]
    # 请求m3u8地址
    m3u8_data = request_data(m3u8_url).text
    # 数据替换
    m3u8_data = re.sub(r'#EXTM3U', "", m3u8_data)
    m3u8_data = re.sub(r'#EXT-X-VERSION:\\d', "", m3u8_data)
    m3u8_data = re.sub(r'#EXT-X-TARGETDURATION:\\d', "", m3u8_data)
    m3u8_data = re.sub(r'#EXT-X-MEDIA-SEQUENCE:\\d', "", m3u8_data)
    m3u8_data = re.sub(r'#EXTINF:\\d.\\d,', "", m3u8_data)
    m3u8_data = re.sub(r'#EXT-X-ENDLIST', "", m3u8_data)
    m3u8 = m3u8_data.split()

    for i in tqdm(m3u8):
        ts_url = 'https://tx-safe-video.acfun.cn/mediacloud/acfun/acfun_video/hls/' + i
        video = request_data(ts_url).content
        save(title, video)

对你有帮助的话,记得给辣条三连哦

以上是关于# 随机小姐姐API短视频引流源码的主要内容,如果未能解决你的问题,请参考以下文章

怎么发布短视频号引流到直播间

刷小姐姐视频刷累了?教你一招:自动化的刷「快手极速版」的小姐姐视频

短视频运营短视频变现方式 ( 直播打赏 | 线上引流 | 电商带货 | 知识变现 | 品牌推广 | 粉丝数量 | 粉丝领域 | 粉丝质量 )

❤️ 爬取某网站小姐姐视频,源码奉上,保姆级教程,赶紧收藏❤️

❤️ 爬取抖音小姐姐无水印视频,源码奉上,保姆级教程,赶紧收藏❤️

❤️ 爬取抖音小姐姐无水印视频,源码奉上,保姆级教程,赶紧收藏❤️