鱼C论坛

 找回密码
 立即注册
查看: 2299|回复: 1

[技术交流] 小破站视频爬取-仅供学习使用

[复制链接]
发表于 2021-9-3 10:21:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  1. import requests
  2. import re
  3. import time
  4. from lxml import etree
  5. import json
  6. from moviepy.editor import *

  7. url = input('视频网址:')
  8. headers = {
  9.     'Referer': url,
  10.     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0'
  11. }

  12. res = requests.get(url,headers=headers)
  13. html_data = etree.HTML(res.content.decode())
  14. title = html_data.xpath('//*[@id="viewbox_report"]/h1/span/text()')[0]
  15. titles = title + "&"
  16. # print(title)

  17. response = res.text
  18. pattern = '<script>window\.__playinfo__=(.*?)</script>'
  19. list1 = re.findall(pattern,response,re.S)
  20. list_json = json.loads(list1[0])
  21. video_url = list_json['data']['dash']['video'][0]['baseUrl']
  22. audio_url = list_json['data']['dash']['audio'][0]['baseUrl']
  23. # print(video_url)
  24. # print(audio_url)

  25. video_res = requests.get(video_url,headers=headers)
  26. audio_res = requests.get(audio_url,headers=headers)

  27. with open('%s.mp4'%titles,'wb') as f:
  28.     f.write(video_res.content)
  29. with open('%s.mp3'%titles,'wb') as f:
  30.     f.write(audio_res.content)
  31. time.sleep(3)
  32. # 读取视频文件 和读取音频文件
  33. videoclip = VideoFileClip("%s.mp4"%titles)
  34. Audioclip = AudioFileClip("%s.mp3"%titles)
  35. # 给videoclip视频 添加音频Audioclip
  36. video_data = videoclip.set_audio(Audioclip)
  37. # 添加好了后 再输出为一个视频
  38. video_data.write_videofile('%s.mp4'%(title))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-9-6 10:44:57 | 显示全部楼层
感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-18 22:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表