千夜
用python爬取B站视频
import requests
from lxml import etree
import json
from import ffmpeg_tools
import os
import shutil
url = input("请输入视频网址:")
headers_html = {
"Cookie" : "buvid3=75030FA2-0B7A-E1B3-6BC3-2D8982BA691E54894infoc; b_nut=1728826054; _uuid=6F81FF15-93F4-6C9C-10BA1-2EFF177574BA54713infoc; CURRENT_FNVAL=4048; buvid_fp=f0322493b7e48e56111835bcad46cd9a; buvid4=A839399E-05E3-FE3C-1A55-FB129F5913E156081-024101313-Ov5IruUKxGHt5t9W25D79w%3D%3D; rpdid=|(kmJYmu)YJ~0J'u~k))kY|lY; header_theme_version=CLOSE; enable_web_push=DISABLE; home_feed_column=5; browser_resolution=1699-941; b_lsid=C8B9E1CE_192D6E9835D; bsource=search_bing; bmg_af_switch=1; bmg_src_def_domain=i1.hdslb.com; SESSDATA=c85afdb7%2C1745734526%2C62381%2Aa1CjDCBHAM9YczeknfX8-O9LWlo98BOiy33QMfUCNBoDuhJxkHizciuQ1BuF2UO10-o-8SVlJ6dVVrcWdMRTAyUVl1RVc1QXAyRURYb3BCeTc2RmIzV0ROdEJybUgxT25kLUFxbXFfZWZSVjBQS3pOLXdLUHRhS3JrV1JmdG9kc1BHb1hCSHlxNVRBIIEC; bili_jct=73266c6b3ea5330dc628f75b84edb3f9; DedeUserID=477576651; DedeUserID__ckMd5=da5f825bba07646d; sid=6zs30wr9; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzA0NDE3NDQsImlhdCI6MTczMDE4MjQ4NCwicGx0IjotMX0.rg9J3aJ8QM1pP3O4TJh5vfyAsq-bhvlRZdj5qZAof8E; bili_ticket_expires=1730441684; bp_t_offset_477576651=993615712989741056",
"user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
}
headers_target = {
"Referer" : url,
"Cookie" : "buvid3=75030FA2-0B7A-E1B3-6BC3-2D8982BA691E54894infoc; b_nut=1728826054; _uuid=6F81FF15-93F4-6C9C-10BA1-2EFF177574BA54713infoc; CURRENT_FNVAL=4048; buvid_fp=f0322493b7e48e56111835bcad46cd9a; buvid4=A839399E-05E3-FE3C-1A55-FB129F5913E156081-024101313-Ov5IruUKxGHt5t9W25D79w%3D%3D; rpdid=|(kmJYmu)YJ~0J'u~k))kY|lY; header_theme_version=CLOSE; enable_web_push=DISABLE; home_feed_column=5; browser_resolution=1699-941; b_lsid=C8B9E1CE_192D6E9835D; bsource=search_bing; bmg_af_switch=1; bmg_src_def_domain=i1.hdslb.com; SESSDATA=c85afdb7%2C1745734526%2C62381%2Aa1CjDCBHAM9YczeknfX8-O9LWlo98BOiy33QMfUCNBoDuhJxkHizciuQ1BuF2UO10-o-8SVlJ6dVVrcWdMRTAyUVl1RVc1QXAyRURYb3BCeTc2RmIzV0ROdEJybUgxT25kLUFxbXFfZWZSVjBQS3pOLXdLUHRhS3JrV1JmdG9kc1BHb1hCSHlxNVRBIIEC; bili_jct=73266c6b3ea5330dc628f75b84edb3f9; DedeUserID=477576651; DedeUserID__ckMd5=da5f825bba07646d; sid=6zs30wr9; bili_ticket=eyJhbGciOiJIUzI1NiIsImtpZCI6InMwMyIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzA0NDE3NDQsImlhdCI6MTczMDE4MjQ4NCwicGx0IjotMX0.rg9J3aJ8QM1pP3O4TJh5vfyAsq-bhvlRZdj5qZAof8E; bili_ticket_expires=1730441684; bp_t_offset_477576651=993615712989741056",
"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0"
}
response = requests.get(url,headers=headers_html)
html = etree.HTML(response.content)
ALL_text = html.xpath("/html/head/script[4]/text()")#找到链接所在script
ALL_json = json.loads(ALL_text[0][20:])
video_url = ALL_json["data"]["dash"]["video"][1]["baseUrl"]#获取视频链接
music_url = ALL_json["data"]["dash"]["audio"][1]["baseUrl"]#获取音频链接
response_video = requests.get(video_url,headers=headers_target)
response_music = requests.get(music_url,headers=headers_target)
os.mkdir("cache")
with open("cache/tardet_video.mp4","wb") as video:
video.write(response_video.content)
with open("cache/tardet_music.mp4","wb") as music:
music.write(response_music.content)
ffmpeg_tools.ffmpeg_merge_video_audio("cache/tardet_video.mp4","cache/tardet_music.mp4","目标.mp4")#拼接
flag = input("是否保留下载缓存(1:否,2:是):")
if flag == "1":
shutil.rmtree('cache')
path = os.getcwd()
os.startfile(path)
- 下载图片
- 复制图片
2024-11-13
浏览1331
有趣代码
登录后评论
4
5
3