1
0

21 Commity b5ab59b965 ... 59b0ff6f86

Autor SHA1 Správa Dátum
  czyc 59b0ff6f86 刷新 5 mesiacov pred
  Cloudmistery b5ab59b965 push 8 mesiacov pred
  Cloudmistery 806101aed6 集成爬虫 8 mesiacov pred
  Cloudmistery 0788516b58 修复路径错误,取消30字符文件名机制 8 mesiacov pred
  Cloudmistery 8ba2a379c8 新增单独的音频下载程序 8 mesiacov pred
  Cloudmistery 75b12e2df8 稳定版本,可用,最基本的功能开发完成 9 mesiacov pred
  Cloudmistery 79960eef71 完全版 10 mesiacov pred
  Cloudmistery a756c2b324 模块化修复中 10 mesiacov pred
  Cloudmistery 780706b895 用分离请求头方法重写中,还有部分错误 10 mesiacov pred
  Cloudmistery ed9d3c4118 用分离请求头方法重写中,还有部分错误 10 mesiacov pred
  Cloudmistery 1f956cec7e 推送 10 mesiacov pred
  Cloudmistery 56f9e10ea5 更新日志 10 mesiacov pred
  Cloudmistery 4b12a1e6c3 版本更新,抽象化使用方法,解决无法获取mp3文件的bug 10 mesiacov pred
  Cloudmistery 9435cc345d 格式化参数,还有一部分音频文件无法获取,继续排查问题 10 mesiacov pred
  Cloudmistery 35db56565d 优化 11 mesiacov pred
  Cloudmistery 115d062384 此版本优化了文件名违法字符问题 11 mesiacov pred
  Cloudmistery 31994b5ed1 功能完善 11 mesiacov pred
  Cloudmistery 83d7ad2209 此次操作无效 11 mesiacov pred
  Cloudmistery 5840ee851e 更新到完全版本,无障碍使用 11 mesiacov pred
  Cloudmistery 81299cdaa2 bilibili音视频爬虫程序 11 mesiacov pred
  Cloudmistery d9847ba789 bilibili音视频爬虫程序 11 mesiacov pred

+ 0 - 7
.gitignore

@@ -1,7 +0,0 @@
-*.mp3
-*.aac
-Audio
-Files
-*.mp4
-Video
-down

+ 0 - 8
.idea/.gitignore

@@ -1,8 +0,0 @@
-# Default ignored files
-/shelf/
-/workspace.xml
-# Datasource local storage ignored files
-/dataSources/
-/dataSources.local.xml
-# Editor-based HTTP Client requests
-/httpRequests/

+ 0 - 8
.idea/bilibili_files.iml

@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="PYTHON_MODULE" version="4">
-  <component name="NewModuleRootManager">
-    <content url="file://$MODULE_DIR$" />
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>

+ 0 - 48
.idea/inspectionProfiles/Project_Default.xml

@@ -1,48 +0,0 @@
-<component name="InspectionProjectProfileManager">
-  <profile version="1.0">
-    <option name="myName" value="Project Default" />
-    <inspection_tool class="DuplicatedCode" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <Languages>
-        <language minSize="53" name="Python" />
-      </Languages>
-    </inspection_tool>
-    <inspection_tool class="PyPep8Inspection" enabled="false" level="WEAK WARNING" enabled_by_default="false">
-      <option name="ignoredErrors">
-        <list>
-          <option value="E101" />
-          <option value="E251" />
-          <option value="E501" />
-          <option value="W292" />
-          <option value="E303" />
-          <option value="E305" />
-          <option value="E302" />
-          <option value="E231" />
-        </list>
-      </option>
-    </inspection_tool>
-    <inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <option name="ignoredErrors">
-        <list>
-          <option value="N802" />
-        </list>
-      </option>
-    </inspection_tool>
-    <inspection_tool class="PyShadowingBuiltinsInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
-      <option name="ignoredNames">
-        <list>
-          <option value="list" />
-        </list>
-      </option>
-    </inspection_tool>
-    <inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
-      <option name="ignoredIdentifiers">
-        <list>
-          <option value="keras.layers.convolutional" />
-          <option value="keras.layers.CuDNNLSTM" />
-          <option value="float.strftime" />
-          <option value="app.db" />
-        </list>
-      </option>
-    </inspection_tool>
-  </profile>
-</component>

+ 0 - 6
.idea/inspectionProfiles/profiles_settings.xml

@@ -1,6 +0,0 @@
-<component name="InspectionProjectProfileManager">
-  <settings>
-    <option name="USE_PROJECT_PROFILE" value="false" />
-    <version value="1.0" />
-  </settings>
-</component>

+ 0 - 7
.idea/misc.xml

@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="JavaScriptSettings">
-    <option name="languageLevel" value="ES6" />
-  </component>
-  <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9" project-jdk-type="Python SDK" />
-</project>

+ 0 - 8
.idea/modules.xml

@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/.idea/bilibili_files.iml" filepath="$PROJECT_DIR$/.idea/bilibili_files.iml" />
-    </modules>
-  </component>
-</project>

+ 0 - 6
.idea/vcs.xml

@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$" vcs="Git" />
-  </component>
-</project>

+ 0 - 6
Bilibili.py

@@ -1,6 +0,0 @@
-# -*- coding: UTF-8 -*-
-from utils.Clip_bili import *
-
-if __name__ == '__main__':
-    downloads()
-    # downloadsAudio()

+ 0 - 33
README.md

@@ -1,33 +0,0 @@
-##日志
-###2024/8/12
-`bilibili的爬虫程序
-可以爬取分开的音视频文件`
-
-###2024/9/2
-`增加了合并音视频功能`
-
-###2024/9/3
-`此版本优化了文件名违法字符问题`
-
-###2024/9/13
-`版本更新,抽象化使用方法,解决无法获取mp3文件的bug`
-
-`mp3格式文件依然有概率获取不到`
-
-###2024/9/19
-`用分离请求头方法重写中,还有部分错误`
-
-###2024/9/20
-`完全版`
-
-`为何会出错?
-每个模块都应当独立出来,可以不作为一个文件,也必须def方法`
-
-##阅读文档
-`1.设置原网址url,格式为番号后缀删除;设置文件地址`
-
-`2.设置请求头,用request方法请求到数据`
-
-`3.通过findall方法获取到标题,Save方法保存音视频`
-
-`4.主函数调用方法`

+ 0 - 104
Spider.py

@@ -1,104 +0,0 @@
-# @Author  : @Cloudmistery
-
-"""
-tips:错误记录
-1.headers请求头设置错误导致文件不可读(就是错了)
-2.文件名合法化,不合法的文件名直接创建不了
-3.音频和视频需要分开爬取及合成
-"""
-
-# 请求模块
-import requests
-# 正则模块
-import re
-# json模块
-import json
-# 合并模块
-from moviepy.editor import *
-
-# TODO:修改url和cookie获取你想要的视频,先在本目录下先创建三个文件夹
-# 设置
-url = 'https://www.bilibili.com/video/BV1ki4y1B7LB/'
-A_path = 'Audio/'
-V_path = 'Video/'
-Synth_path = 'File/'
-
-
-# 主程序
-# headers只需要三个参数
-headers = {
-        "Referer": url,
-        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
-        'cookie': 'buvid3=D82F9D33-E75C-8D6E-6D2D-D128A352B3EC99573infoc; '
-                  'b_nut=1730271799; '
-                  '_uuid=363DA659-CAA7-AEE3-31EF-105ADAD95EFA299807infoc; '
-                  'enable_web_push=DISABLE; '
-                  'buvid4=A8A4CC10-7B3C-8459-B07C-EB4E11E948D401840-024103007-fmI38SPP%2F5%2BxXWrCTYgty62zOzJos1uEW8lnI07A3XTkLJ6dLJvsmsAJBqLNPrF9; '
-                  'rpdid=0zbfvUnKtc|3XngooMd|T30|3w1T62JV; '
-                  'header_theme_version=CLOSE; '
-                  'DedeUserID=35990046; '
-                  'DedeUserID__ckMd5=bf34a8eab39f0c11; '
-                  'buvid_fp_plain=undefined; '
-                  'LIVE_BUVID=AUTO3317306871682983; '
-                  'CURRENT_QUALITY=80; '
-                  'fingerprint=afd86aa8ba10b52e21767b02b25b933b; '
-                  'buvid_fp=afd86aa8ba10b52e21767b02b25b933b; '
-                  'CURRENT_FNVAL=4048; '
-                  'bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzIyNjg3OTMsImlhdCI6MTczMjAwOTUzMywicGx0IjotMX0.XrtK4fW5yyBnEWTn4gQeSTZAh_8KweejUzSk9tPDC08; '
-                  'bili_ticket_expires=1732268733; '
-                  'PVID=3; bmg_af_switch=1; '
-                  'bmg_src_def_domain=i2.hdslb.com; '
-                  'b_lsid=AEA3F28F_1934D6025DD; '
-                  'SESSDATA=994c56c3%2C1747721973%2C32480%2Ab1CjC6H2WiSR2TdOw7R4ED2MVj0RDd_OeOczPS9dMUYYuj8I9ilx01iewdYO_1V7J5VSoSVkVtaE1tV0hxRHIwb2tndmJraTd3X3pvcXBleHI4NDhRN3o5YnAtOWlVX1lwVXhTc210RS05VDFkUnVaMUQ3MjBiQ0h1dENpdi1VOU9hLUxycHUzR2RBIIEC; '
-                  'bili_jct=4cd051b6642a32eeb57f558eac9f02f7; '
-                  'sid=6w3kthlu; '
-                  'home_feed_column=5; '
-                  'browser_resolution=1528-712; '
-                  'bsource=search_bing; '
-                  'bp_t_offset_35990046=1002173800399241216'
-}
-
-# 发送请求
-response = requests.get(url=url, headers=headers)
-html = response.text
-
-# 提取,合法化字符并显示 视频标题
-title = re.findall('title="(.*?)"', html)[0]
-if title:
-    illegal_chars = fr'<|>\/:"*?'
-    def remove_illegal_chars(title_ill):
-        for char in illegal_chars:
-            title_ill = title_ill.replace(char, "")
-        return title_ill
-    title = remove_illegal_chars(title)
-print("视频标题:",title)
-
-# 提取视频信息
-info = re.findall('window.__playinfo__=(.*?)</script>', html)[0]
-json_data = json.loads(info)
-
-# 提取音视频链接
-# TODO:设置数值来声明文件品质,0默认最高
-video_url = json_data['data']['dash']['video'][0]['baseUrl']
-audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
-
-# 获取音视频内容
-video_content = requests.get(url=video_url, headers=headers).content
-audio_content = requests.get(url=audio_url, headers=headers).content
-
-# 保存单音频
-with open(A_path + title + '.mp3', mode='wb') as a:
-    a.write(audio_content)
-
-# 保存单视频
-with open(V_path + title + '.mp4', mode='wb') as v:
-    v.write(video_content)
-
-# 合并视频
-audio_path = fr"{A_path}{title}{'.mp3'}"
-audio_clip = AudioFileClip(audio_path)
-video_path = fr"{V_path}{title}{'.mp4'}"
-video_clip = VideoFileClip(video_path)
-audio_clip = audio_clip.set_duration(video_clip.duration)
-video_clip_with_audio = video_clip.set_audio(audio_clip)
-video_clip_with_audio.write_videofile(fr"{Synth_path}{title}{'.mp4'}", codec="libx264", audio_codec="aac")

BIN
__pycache__/Bilibili_Main_Setting.cpython-39.pyc


+ 91 - 0
bili_spider.py

@@ -0,0 +1,91 @@
+# @Author  : @Cloudmistery
+
+"""
+tips:错误记录
+1.headers请求头设置错误导致文件不可读(就是错了)
+2.文件名合法化,不合法的文件名直接创建不了
+3.音频和视频需要分开爬取及合成
+"""
+
+# 请求模块
+import requests
+# 正则模块
+import re
+# json模块
+import json
+# 合并模块
+from moviepy.editor import *
+# html
+import html as h
+
+# TODO:修改url和cookie,爬不到最高画质的主要原因就是没有更新cookie
+
+# 设置
+url = 'https://www.bilibili.com/video/BV1J24y1p75G/?buvid=Y84DF68249678902447EA7D8C8D4E12E9DDC&from_spmid=search.search-result.0.0&is_story_h5=false&mid=VRgCQHIxfkYie40eSwgBqQ%3D%3D&plat_id=114&share_from=ugc&share_medium=iphone&share_plat=ios&share_session_id=37ACC364-AFB3-49B2-AE6D-ECDDEE498D3B&share_source=WEIXIN&share_tag=s_i&timestamp=1737513904&unique_k=JBOVMFJ&up_id=690032002&vd_source=f6247aa12dae1ff1bce74ef0af381757'
+A_path = 'Audio/'
+V_path = 'Video/'
+
+# Synth_path = 'File/美少女/'
+Synth_path = 'File/'
+
+headers = {
+    'Referer': url,
+    'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0",
+    'cookie': "buvid3=94F0FDAB-59F7-39B1-F805-CAA3E07060F661671infoc; b_nut=1729338061; _uuid=96637C82-967A-B8CA-D643-7621093B83AF862008infoc; buvid4=6F50A1B3-D6A1-87A5-1EF3-7AA396E5E35C62385-024101911-WqlszYIbsE%2BQ%2FFD68EQkXA%3D%3D; enable_web_push=DISABLE; LIVE_BUVID=AUTO8117293380854336; header_theme_version=CLOSE; rpdid=|(Y|RJYumR|0J'u~kmJJmJ)u; buvid_fp_plain=undefined; hit-dyn-v2=1; is-2022-channel=1; fingerprint=19cfe92f609986680aa1f2f4ffaa5e5d; PVID=1; DedeUserID=35990046; DedeUserID__ckMd5=bf34a8eab39f0c11; buvid_fp=19cfe92f609986680aa1f2f4ffaa5e5d; blackside_state=1; CURRENT_BLACKGAP=1; CURRENT_QUALITY=80; enable_feed_channel=DISABLE; _tea_utm_cache_20001731={%22creative_id%22:209057374}; CURRENT_FNVAL=4048; b_lsid=F36DB5DB_194D3DCC6B3; bmg_af_switch=1; bmg_src_def_domain=i1.hdslb.com; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3Mzg5ODA0NDksImlhdCI6MTczODcyMTE4OSwicGx0IjotMX0.lcIqSpCGaiPjRY0RAbCO8tOzHdF-VFiDMC-TWAiwIcE; bili_ticket_expires=1738980389; SESSDATA=de21e156%2C1754273250%2C4e042%2A21CjBcyUNyR_qeZY9ycuob2AZJmLM-9fFaPpMpNuKQmHWOenW-tp_d3fn8MLTp_YJhwzESVjFKbXVnLVdFS3d1djZyMU1zcE96UnNYWDVqazBrRk9sZUY4aVVETVY2THNpRVhOQVEzVEx2X2ZCTjdwdkpIazIzWThFTFk3SDV5NGpfLWxOWXQxTWVnIIEC; bili_jct=fdb20597a08eb5fe5869f1b5d45b85b6; sid=qk2ukeq5; bp_t_offset_35990046=1030289008506175488; home_feed_column=4; browser_resolution=1274-920"
+}
+
+# 主程序
+# 发送请求
+response = requests.get(url=url, headers=headers,timeout=(3,7))
+html = response.text
+
+# 提取,合法化字符并显示 视频标题
+title = re.findall('title="(.*?)"', html)[0]
+title = h.unescape(title)
+
+if title:
+    illegal_chars = fr'<||>\/:"*?'
+    def remove_illegal_chars(title_ill):
+        for char in illegal_chars:
+            title_ill = title_ill.replace(char, " ")
+        return title_ill
+    title = remove_illegal_chars(title)
+print("视频标题:",title)
+
+# 提取视频信息,提取音视频链接
+# # TODO:设置数值来声明文件品质,0默认最高
+info = re.findall('window.__playinfo__=(.*?)</script>', html)[0]
+json_data = json.loads(info)
+video_url = json_data['data']['dash']['video'][0]['baseUrl']
+audio_url = json_data['data']['dash']['audio'][0]['baseUrl']
+
+# 获取音视频内容并保存
+video_content = requests.get(url=video_url, headers=headers).content
+audio_content = requests.get(url=audio_url, headers=headers).content
+def SaveAudio():
+    with open(A_path + title + '.mp3', mode='wb') as a:
+        a.write(audio_content)
+def SaveVideo():
+    with open(V_path + title + '.mp4', mode='wb') as v:
+        v.write(video_content)
+
+def ClipVideo():
+    time_1 = 0
+    time_2 = None
+    audio_path = fr"{A_path}{title}{'.mp3'}"
+    video_path = fr"{V_path}{title}{'.mp4'}"
+    audio = AudioFileClip(audio_path)
+    audio_clip = audio.subclip(time_1, time_2)
+    video = VideoFileClip(video_path)
+    video_clip = video.subclip(time_1, time_2)
+    audio_clip = audio_clip.set_duration(video_clip.duration)
+    video_clip_with_audio = video_clip.set_audio(audio_clip)
+    video_clip_with_audio.write_videofile(fr"{Synth_path}{title}{'.mp4'}", codec="libx264", audio_codec="aac")
+
+def main():
+    SaveAudio()
+    # SaveVideo()
+    # ClipVideo()
+
+if __name__ == '__main__':
+    main()

+ 0 - 36
utils/Clip_bili.py

@@ -1,36 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Author  : ChenZhaoyuchen
-# @Time    : 2024/9/20 8:59
-# @File    : Clip_bili.py
-
-from .GetVideoInfo import *
-from .Save_bili import *
-from moviepy.editor import *
-import requests
-
-def downloads():
-    # 程序参数
-    session = requests.session()
-    title = GetTitile()
-    v_url = GetVideoInfo()
-    a_url = GetAudioInfo()
-
-    # 主程序操作
-    # 1.下载
-    SaveAV(session,url,title,v_url,a_url)
-    # 2.合并
-    audio_path = fr"{Audio_path}{title}{Audio_format}"
-    audio_clip = AudioFileClip(audio_path)
-    video_path = fr"{Video_path}{title}{Video_format}"
-    video_clip = VideoFileClip(video_path)
-    audio_clip = audio_clip.set_duration(video_clip.duration)
-    video_clip_with_audio = video_clip.set_audio(audio_clip)
-    video_clip_with_audio.write_videofile(fr"{Synth_path}{title}{Video_format}", codec="libx264", audio_codec="aac")
-
-def downloadsAudio():
-    # 程序参数
-    session = requests.session()
-    title = GetTitile()
-    a_url = GetAudioInfo()
-    # 主程序操作
-    SaveAudio(session,url,title,a_url)

+ 0 - 26
utils/GetResponse.py

@@ -1,26 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Author  : ChenZhaoyuchen
-# @Time    : 2024/9/13 15:03
-# @File    : GetResponse.py
-
-from .setting import *
-import requests
-
-# //视频音频请求头//
-headers = {
-        "Referer": url,
-        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
-        'cookie': 'buvid3=D82F9D33-E75C-8D6E-6D2D-D128A352B3EC99573infoc; b_nut=1730271799; _uuid=363DA659-CAA7-AEE3-31EF-105ADAD95EFA299807infoc; enable_web_push=DISABLE; buvid4=A8A4CC10-7B3C-8459-B07C-EB4E11E948D401840-024103007-fmI38SPP%2F5%2BxXWrCTYgty62zOzJos1uEW8lnI07A3XTkLJ6dLJvsmsAJBqLNPrF9; rpdid=0zbfvUnKtc|3XngooMd|T30|3w1T62JV; header_theme_version=CLOSE; DedeUserID=35990046; DedeUserID__ckMd5=bf34a8eab39f0c11; buvid_fp_plain=undefined; LIVE_BUVID=AUTO3317306871682983; CURRENT_QUALITY=80; fingerprint=afd86aa8ba10b52e21767b02b25b933b; buvid_fp=afd86aa8ba10b52e21767b02b25b933b; CURRENT_FNVAL=4048; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzIyNjg3OTMsImlhdCI6MTczMjAwOTUzMywicGx0IjotMX0.XrtK4fW5yyBnEWTn4gQeSTZAh_8KweejUzSk9tPDC08; bili_ticket_expires=1732268733; PVID=3; bmg_af_switch=1; bmg_src_def_domain=i2.hdslb.com; b_lsid=AEA3F28F_1934D6025DD; SESSDATA=994c56c3%2C1747721973%2C32480%2Ab1CjC6H2WiSR2TdOw7R4ED2MVj0RDd_OeOczPS9dMUYYuj8I9ilx01iewdYO_1V7J5VSoSVkVtaE1tV0hxRHIwb2tndmJraTd3X3pvcXBleHI4NDhRN3o5YnAtOWlVX1lwVXhTc210RS05VDFkUnVaMUQ3MjBiQ0h1dENpdi1VOU9hLUxycHUzR2RBIIEC; bili_jct=4cd051b6642a32eeb57f558eac9f02f7; sid=6w3kthlu; home_feed_column=5; browser_resolution=1528-712; bsource=search_bing; bp_t_offset_35990046=1002173800399241216'
-}
-
-video_json = {
-
-}
-
-def GetResponse_AV():
-    response_audio = requests.get(url = url,headers = headers_bili_av,stream = True)
-    return response_audio
-
-# 检查
-if __name__ == '__main__':
-    print(GetResponse_AV())

+ 0 - 70
utils/GetVideoInfo.py

@@ -1,70 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Author  : ChenZhaoyuchen
-# @Time    : 2024/9/13 15:02
-# @File    : GetVideoInfo.py
-
-import json
-import re
-from utils.GetResponse import *
-from pprint import pprint
-
-video_json = {
-}
-
-def GetVideoInfo() -> str:
-    response_video = GetResponse_AV()
-    html_video = response_video.text
-    info_video = re.findall('<script>window.__playinfo__=(.*?)</script>', html_video)[0]
-    json_data_video = json.loads(info_video)
-    video_url = json_data_video['data']['dash']['video'][0]['baseUrl']
-    return video_url
-
-def GetAudioInfo() -> str:
-    response_audio = GetResponse_AV()
-    html_audio = response_audio.text
-    info_audio = re.findall('<script>window.__playinfo__=(.*?)</script>', html_audio)[0]
-    json_data_audio = json.loads(info_audio)
-    audio_url = json_data_audio['data']['dash']['audio'][0]['baseUrl']
-    return audio_url
-
-def GetTitile() -> str:
-    # response_audio = GetResponse_AV()
-    # html = response_audio.text
-    # title = re.findall('<title data-vue-meta="true">(.*?)</title>', html)[0]
-    # print("原件名称:",title)
-    # video_json[title] = title
-    html = GetResponse_AV().text
-    title = re.findall('title="(.*?)"', html)[0]
-
-    # if not title:
-    #     title = '未知'
-    if title:
-        illegal_chars = fr'<|>\/:"*?'
-        def remove_illegal_chars(title_ill):
-            for char in illegal_chars:
-                title_ill = title_ill.replace(char, "")
-            return title_ill
-        title = remove_illegal_chars(title)
-    else:
-        return None
-    # elif len(title) > 30:
-    #     title = title[:30]
-    print('合法名称:',title)
-    return title
-
-# 仅用作测试
-def GetHTML():
-    response = GetResponse_AV()
-    html = response.text
-    return html
-
-# # 测试代码
-if __name__ == '__main__':
-    A = GetAudioInfo()
-    print(A)
-    B = GetVideoInfo()
-    print(B)
-    C = GetTitile()
-    print('修饰过后名字为:',C)
-    D = GetHTML()
-    pprint(D)

+ 0 - 39
utils/Save_bili.py

@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Author  : ChenZhaoyuchen
-# @Time    : 2024/9/13 15:02
-# @File    : Save_bili.py
-
-from utils.GetResponse import *
-import requests
-
-def SaveAV(session: requests.session(),url,title,v_url,a_url):
-    # 设置请求头
-    headers['Referer'] = url
-    # 获取准许
-    session.options(v_url, headers=headers)
-    session.options(a_url, headers=headers)
-
-    A_content = session.get(a_url, headers=headers).content
-    V_content = session.get(v_url, headers=headers).content
-
-    with open(Audio_path + title + Audio_format, mode='wb') as audio:
-        audio.write(A_content)
-    with open(Video_path + title + Video_format, mode='wb') as video:
-        video.write(V_content)
-
-def SaveAudio(session,url,title,a_url):
-    # 设置请求头
-    headers['Referer'] = url
-
-    # 获取准许
-    session.options(a_url, headers=headers)
-    A_content = session.get(a_url, headers=headers).content
-
-    # 下载程序
-    print('开始下载音频...')
-    print('路径为:',Audio_path)
-    with open(Audio_path + title + Audio_format, mode='wb') as audio:
-        audio.write(A_content)
-    print('音频下载结束')
-
-

+ 0 - 4
utils/__init__.py

@@ -1,4 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Author  : ChenZhaoyuchen
-# @Time    : 2024/9/13 14:15
-# @File    : __init__.py.py

BIN
utils/__pycache__/Clip_bili.cpython-39.pyc


BIN
utils/__pycache__/GetResponse.cpython-39.pyc


BIN
utils/__pycache__/GetVideoInfo.cpython-39.pyc


BIN
utils/__pycache__/Save_bili.cpython-39.pyc


BIN
utils/__pycache__/__init__.cpython-39.pyc


BIN
utils/__pycache__/setting.cpython-39.pyc


+ 0 - 14
utils/setting.py

@@ -1,14 +0,0 @@
-# -*- coding: utf-8 -*-
-# @Author  : ChenZhaoyuchen
-# @Time    : 2024/9/13 14:13
-# @File    : setting.py
-
-Audio_format = '.mp3'
-Video_format = '.mp4'
-
-Audio_path = 'D:/pyp/Spider/bilibili_pachong/bilibili_files/Audio/'
-Video_path = 'D:/pyp/Spider/bilibili_pachong/bilibili_files/Video/'
-Synth_path = 'D:/pyp/Spider/bilibili_pachong/bilibili_files/Files/'
-
-url = 'https://www.bilibili.com/video/BV1LxSuYDEBR/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=f6247aa12dae1ff1bce74ef0af381757'
-base_url = 'https://www.bilibili.com'