python超细致带你批量保存B站美女内容~ 快来观赏叭

前言

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

在昨天,我快乐刷刷刷得时候,有幸刷到一个非常好看得内容

于是我就点开UP主得主页打算把她得内容全部保存下来,慢慢欣赏~

现在,我把代码分享给大家,毕竟,好东西得互相分享,对不~


首先,我们得做好准备步骤,尽量跟我得一致哦~

环境使用:

  • Python 3.8
  • Pycharm 2021.2版本
  • ffmpeg <需要设置环境变量> 软件的使用 合成视频和音频

模块使用:

  • import requests >>> pip install requests

内置模块 你安装好python环境就可以了

  • import re
  • import json
  • import subprocess



如果安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
  2. 在pycharm中点击Terminal(终端) 输入安装命令

如何配置pycharm里面的python解释器?

  1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)
  2. 点击齿轮, 选择add
  3. 添加python安装路径

pycharm如何安装插件?

  1. 选择file(文件) >>> setting(设置) >>> Plugins(插件)
  2. 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese
  3. 选择相应的插件点击 install(安装) 即可
  4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效

Python的应用学习方向有哪些?

这里稍微介绍一下,让你对python有更详细得认知~

网站开发:

如目前优秀的全栈的 django、框架flask ,都继承了python简单、明确的风格,开发效率高、易维护,与自动化运维结合性好。

python已经成为自动化运维平台领域的事实标准;

爬虫程序

在爬虫领域,Python几乎是霸主地位,将网络一切数据作为资源,通过自动化程序进行有针对性的数据采集以及处理。

从事该领域应学习爬虫策略、高性能异步IO、分布式爬虫等,并针对Scrapy框架源码进行深入剖析,从而理解其原理并实现自定义爬虫框架。

数据分析

Python语言相对于其它解释性语言最大的特点是其庞大而活跃的科学计算生态,在数据分析、交互、可视化方面有相当完善和优秀的库.

自动化脚本

执行许多重复的任务,例如阅读 pdf、播放音乐、查看天气、打开书签、清理文件夹等等,使用自动化脚本

就无需手动一次又一次地完成这些任务,非常方便。

人工智能

各种人工智能算法都基于Python编写,尤其PyTorch之后,Python作为AI时代头牌语言的位置基本确定。

游戏开发/辅助 自动化测试 运维

思路流程: <通用>

一. 数据来源分析

  1. 确定我们需求 采集什么网站上面的什么数据内容

  2. 分析我们想要视频数据以及视频标题内容 -->> 可以请求那个网址得到相应数据内容

  3. B站视频内容, 是可以在网页源代码有的 搜索playinfo就有相关数据... 通过开发者工具抓包分析

二. 代码实现步骤

  1. 发送请求, 对于视频播放页面url地址发送请求 https://www.bilibili.com/video/BV11R4y1L7Fc

  2. 获取数据, 获取网页源代码 <有很多数据内容>

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

  4. 保存数据, 可以把视频内容保存本地文件夹

代码

因审核原因,我把网址删掉了,小可耐们可以自己补全哦,也可私信找我领取完整源码呐~💞

代码大部分我都有写注释,希望对你们有帮助哦~


一、导入模块

import os
# 导入数据请求模块  <使用请求工具去发送请求>
import requests
# 导入正则模块
import re
# 导入json
import json
# 导入格式化输出模块
import pprint
# 导入进程模块
import subprocess
import threading

二、对视频播放页面url地址发送请求

def get_video_content(bv_id):
    """
        爬虫 模拟浏览器对于url地址发送请求...
    """
    url = f'{bv_id}'  # 确定网址, 确定自己要网址是那个
    #  headers请求头, 用来伪装python代码, 防止被服务器识别出来是你爬虫程序.... user-agent 用户代理 表示浏览器基本身份标识
    #  通过requests模块里面get请求方法<函数>对于url地址发送请求...  等号左边的都是自定义变量 不能以数字开头  不建议使用关键词命名
    # 有颜色url是函数参数 关键字传参
    response = requests.get(url=url, headers=headers)  # <Response [200]> 响应对象 200状态码表示请求成功
    print(response)

三、 获取数据

    # 获取网页源代码 <有很多数据内容>
    # print(response.text)  # response.text 获取响应对象文本数据 >>> 字符串数据

四、解析网站

    """
    提取我们想要数据内容  re css xpath 建议都要学习, 选择最适合用的
    re.findall('"title":"(.*?)",', response.text)
    使用re模块里面findall<找到所有>方法 从什么地方去找什么数据
        从response.text 里面去找 "title":"(.*?)", 其中 (.*?) 这段是我们想要数据
    正则匹配提取出来数据, 返回列表数据 [0] 根据索引位置取值, 在python里面索引位置是从0开始计数
       程序员本质 cv工程师...   IT薪资高, 高植发...
       
       如果你想要就业 去面试的时候 理光头..... 薪资多开5K 
       
    """
    title = re.findall('"title":"(.*?)",', response.text)[0]
    # 前端小知识点 前端标签两个两个一起 response.text 字符串类型
    html_data = re.findall('<script>window.__playinfo__=(.*?)</script>', response.text)[0]  # 获取视频信息 也是复制
    # print(html_data)
    # print(type(html_data))  # <class 'str'>  type() 查看数据类型
    json_data = json.loads(html_data)  # 转数据类型
    # print(json_data)
    # print(type(json_data))  # <class 'dict'> 字典数据类型, 字典取值 不会5 会6 根据冒号左边的内容, 提取冒号右边内容
    # pprint.pprint(json_data)
    # print(json_data['code'])
    audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
    video_url = json_data['data']['dash']['video'][0]['baseUrl']
    print(audio_url)
    print(video_url)
    print(title)

五、保存数据

    # 图片 视频 音频 特定格式文件 都获取二进制数据进行保存
    # audio_content = requests.get(url=audio_url, headers=headers).content  # response.content 获取二进制数据内容
    # video_content = requests.get(url=video_url, headers=headers).content  # response.content 获取二进制数据内容
    # with open('video\\' + title + '.mp3', mode='wb') as f:
    #     f.write(audio_content)
    # with open('video\\' + title + '.mp4', mode='wb') as f:
    #     f.write(video_content)
    #
    # cmd = f"ffmpeg -i video\\{title}.mp4 -i video\\{title}.mp3 -c:v copy -c:a aac -strict experimental video\\{title}output.mp4"
    # subprocess.run(cmd, shell=True)
    # os.remove(f'video\\{title}.mp4')
    # os.remove(f'video\\{title}.mp3')


for page in range(1, 13):
    print(f'正在采集第{page}页数据内容')
    link = f'/x/space/arc/search?mid=1305006386&ps=30&tid=0&pn={page}&keyword=&order=pubdate&jsonp=jsonp'
    headers = {
        'Referer': '',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    """
    response.text  获取文本
    response.content 获取二进制
    response.json()  获取json字典数据
    m3u8 
    """
    resp_json = requests.get(url=link, headers=headers).json()
    for index in resp_json['data']['list']['vlist']:
        bv_id = index['bvid']
        print(bv_id)

尾语

成功没有快车道,幸福没有高速路。

所有的成功,都来自不倦地努力和奔跑,所有的幸福都来自平凡的奋斗和坚持

——励志语录

本文章就写完啦~感兴趣的小伙伴可以复制代码去试试

你们的支持是我最大的动力!!记得三连哦~ 💕 欢迎大家阅读往期的文章呀~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容