新闻| 文章| 资讯| 行情| 企业| wap手机版| article文章| 首页|会员中心|保存桌面|手机浏览
普通会员

易达信息科技

企业列表
新闻列表
推荐企业新闻
联系方式
  • 联系人:依依
友情链接
  • 暂无链接
首页 > 新闻中心 > 吾爱破解 - 52pojie.cn's Archiver
新闻中心
吾爱破解 - 52pojie.cn's Archiver
发布时间:2024-12-11        浏览次数:7        返回列表
好看视频是百度旗下的短视频平台,里面有海量好看的短视频,遇到我们喜欢的,要如何下载呢。下面直接给出python语言中地址的解析及各种不同格式视频的下载。

吾爱破解 - 52pojie.cn's Archiver

#encoding:utf-8 # 好看视频下载 import socket from urllib.request import urlopen import urllib import re import time from pyquery import PyQuery as pq import requests from tqdm import tqdm # 打印进度条的库 import gzip print('程序开始运行。。。') requests.adapters.DEFAULT_RETRIES = 5 # connect to a URL timeout = 30 socket.setdefaulttimeout(timeout)#这里对整个socket层设置超时时间。后续文件中如果再使用到socket,不必再设置 sleep_download_time = 3 time.sleep(sleep_download_time) #这里时间自己设定 # 输入好看视频地址 haokanurl = input('请输入要下载的好看视频的网页地址:') # haokanurl = 'https://haokan.baidu.com/v?vid=7448757459481911514&tab=yinyue_new'#示例地址 #为了避免出现403提示,这里伪装浏览器 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'} req = urllib.request.Request(url=haokanurl, headers=headers) website = urlopen(req,timeout = 90) print('好看视频下载地址解析中') # read html code html = website.read().decode('UTF-8') #html = website.read().decode() #当使用上面的直接decode()出错时可以使用下面的方法 # html = website.read() # buff = BytesIO(html) # f = gzip.GzipFile(fileobj=buff) # html = f.read().decode('utf-8') website.close() # use re.findall to get all the links # 取得视频名称(标题) videotitle = re.findall('<h1 class="videoinfo-title">(.*?)</h1>',html) print(videotitle) # 默认地址 links = re.findall('"playurl":"(.*)","clarityUrl"',html)#默认地址 downurl = links downurl = downurl.replace('\','') print('视频实际地址:') print(downurl) print('现在开始下载该视频,请稍等。。。') res = requests.get(downurl, headers={'user-agent': 'chrome'}) total_size = round(int(res.headers["Content-Length"])/1024/1024) print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。') with open(f'{videotitle}down.mp4', 'wb') as f:    for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):          f.write(chunk)    print('下载完成。') sdlinks = re.findall('"key":"sd","rank":0,"title":"(.*?)","videoBps":',html)#标清地址 sdlinks = re.findall('"url":"(.*)',sdlinks) sdurl = sdlinks sdurl = sdurl.replace('\','') print('标清视频地址是:') print(sdurl) print('现在开始下载标清视频,请稍等。。。') res = requests.get(sdurl, headers={'user-agent': 'chrome'}) total_size = round(int(res.headers["Content-Length"])/1024/1024) print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。') with open(f'{videotitle}标清.mp4', 'wb') as f:    for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):          f.write(chunk)    print('下载完成。') hdlinks = re.findall('"key":"hd","rank":1,"title":"(.*?)","videoBps":',html)#高清地址 hdlinks = re.findall('"url":"(.*)',hdlinks) hdurl = hdlinks hdurl = hdurl.replace('\','') print('高清视频地址是:') print(hdurl) print('现在开始下载高清视频,请稍等。。。') res = requests.get(hdurl, headers={'user-agent': 'chrome'}) total_size = round(int(res.headers["Content-Length"])/1024/1024) print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。') with open(f'{videotitle}高清.mp4', 'wb') as f:    for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):          f.write(chunk)    print('下载完成。') sclinks = re.findall('"key":"sc","rank":2,"title":"(.*?)","videoBps":',html)#超清地址 sclinks = re.findall('"url":"(.*)',sclinks) scurl = sclinks scurl = scurl.replace('\','') print('超清视频地址是:') print(scurl) print('现在开始下载超清视频,请稍等。。。') res = requests.get(scurl, headers={'user-agent': 'chrome'}) total_size = round(int(res.headers["Content-Length"])/1024/1024) print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。') with open(f'{videotitle}超清.mp4', 'wb') as f:    for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):          f.write(chunk)    print('下载完成。') p1080links = re.findall('"key":"1080p","rank":3,"title":"(.*?)","videoBps":',html)#蓝光地址 p1080links = re.findall('"url":"(.*)',p1080links) p1080url = p1080links p1080url = p1080url.replace('\','') print('蓝光视频地址是:') print(p1080url) print('现在开始下载蓝光视频,请稍等。。。') res = requests.get(p1080url, headers={'user-agent': 'chrome'}) total_size = round(int(res.headers["Content-Length"])/1024/1024) print('解析完成,视频大小为:' + str(total_size) + 'MB。现在开始下载。') with open(f'{videotitle}蓝光.mp4', 'wb') as f:    for chunk in tqdm(iterable=res.iter_content(1024*1024), total=total_size, unit='KB'):          f.write(chunk)    print('下载完成。') print('所有格式视频下载完成,请检查是否正确。') 当然了,这里使用的是最笨的方法,代码可以进行优化,如你有兴趣,自己去处理吧。 githubi 发表于 2021-12-7 19:06 你好,我说的意思是爬虫代码中,视频的真正下载链接(标清,高清,蓝光),这个URL怎么找到的{:301_1009: ... 在取得的html源码中进行json解析,里面就有playurl,这就是视频的地址,不过不同分辨率的视频地址稍有不同。 baolinguo 发表于 2021-12-7 09:33 就是你打开的好看视频的网址啊。 你好,我说的意思是爬虫代码中,视频的真正下载链接(标清,高清,蓝光),这个URL怎么找到的{:301_1009:} 下载点素材,谢谢 善学善思,谢谢楼主!好用! 感谢楼主无私分享 完全看不懂,还是感谢楼主分享。 学以致用,辉者不难 额,好厉害 对于刚学习PY的小白来说,分享源码的楼主简直不要太帅。 谢谢楼主的分享 学习一下知识 好看视频不是可以直接下载么,