百度好看视频单个视频爬取代码
用这个下载在好看视频看好的单个视频 下载速度稳定 新能好 目前使用流畅
import requests
import re
import json
import os
import webbrowser
from tqdm import tqdm
def download(url: str, fname: str):
header = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 LBBROWSER',
'referer': url
}
# 用流stream的方式获取url的数据
resp = requests.get(url, stream=True, headers=header)
# 拿到文件的长度,并把total初始化为0
total = int(resp.headers.get('content-length', 0))
# 打开当前目录的fname文件(名字你来传入)
# 初始化tqdm,传入总数,文件名等数据,接着就是写入,更新等操作了
with open(fname, 'wb') as file, tqdm(
desc=fname,
total=total,
unit='iB',
unit_scale=True,
unit_divisor=1024,
) as bar:
for data in resp.iter_content(chunk_size=1024):
size = file.write(data)
bar.update(size)
if __name__=='__main__':
a=True
webbrowser.open('https://haokan.baidu.com/')
while a:
url=input("好看视频的url链接:")
header={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.75 Safari/537.36 LBBROWSER',
'referer':url
}
html=requests.get(url=url,headers=header).text
mp4_str=re.findall(r'window.__PRELOADED_STATE__ =(.*?);',html,re.S)[0]
mp4_json=json.loads(mp4_str)
mp4_url=mp4_json['curVideoMeta']['clarityUrl'][-1]['url']
mp4_title=mp4_json['curVideoMeta']['title']
if len(mp4_url)>10:
print("视频链接获取成功!开始下载!")
# mp4_content=requests.get(url=mp4_url,headers=header).content
dir='好看视频'
if not os.path.exists(dir):
os.makedirs(dir)
filename=dir+"/"+mp4_title+".mp4"
# with open(filename,'wb') as f:
# f.write(mp4_content)
download(url=mp4_url,fname=filename)
print(mp4_title+"--视频下载完毕!")
非特殊说明,本文版权归原作者所有,转载请注明出处


评论列表
发表评论