百度好看视频单个视频爬取代码

磊落不羁 by:磊落不羁 分类:爬虫 时间:2年前 阅读:143 评论:0

用这个下载在好看视频看好的单个视频 下载速度稳定 新能好  目前使用流畅

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+"--视频下载完毕!")


非特殊说明,本文版权归原作者所有,转载请注明出处

本文地址:http://php.liulei.com.cn/?type=acticle&id=47

评论列表

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址

TOP