from urllib.request import urlretrieve
import requests
# 解析库 XPath 是一门在 XML 文档中查找信息的语言
# lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法
from lxml import etree
import re
import os
import time
# 获取页面源代码
# 获取视频id
# 拼接完整URL
# 获取视频播放地址
# 下载视频
# 传url 为了下载更多
def download(url):
# 模拟浏览器发送请求
header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'}
# url = 'http://www.pearvideo.com/category_8'
# 获取网页源代码
html = requests.get(url,headers=header).text
# 接下来获取ID 有几种方法
# 把文本文件处理成可解析对象
# html = etree.HTML(html)
# 利用xpath找到需要的id
# video_id = html.xpath('//div[@class="vervideo-bd"]/a/@href')
reg = '<a href="(.*?)" class="vervideo-lilink actplay">'
video_id = re.findall(reg,html)
# print(video_id)
# 定义一个空列表
video_url = []
starturl = 'http://www.pearvideo.com'
for i in video_id:
# 拼接完整URL地址
newurl = starturl +'/'+ i
# 添加
video_url.append(newurl)
for playurl in video_url:
# 获取播放页源代码
html = requests.get(playurl).text
# 正则匹配 匹配播放地址
req = 'ldUrl="",srcUrl="(.*?)",vdoUrl'
# 编译正则表达式字符串为对象,目的是增加效 率
# reg = re.compile(reg)
purl = re.findall(req, html)
# 获取视频标题
req = '<h1 class="video-tt">(.*?)</h1>'
pname = re.findall(req,html)
print("正在下载视频:%s"%pname[0])
path = "video"
if path not in os.listdir():
os.mkdir(path)
urlretrieve(purl[0],path+"/%s.mp4"%pname[0])
download('http://www.pearvideo.com/category_8')
# n = 12
# def downloadmore():
# while True:
# global n
# if n > 48:
# # 跳出循环
# return
# # 找到规律
# url = "http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=9&start=%d"%n
# # url = "http://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=8&start=%d&mrd=0.1864387383822984&hotContIds=1365471,1367413,1367109"%n
# n += 12
# time.sleep(1)
# # 调用下载方法
# download(url)
# category = [9,10,1,2,5,8,4,3,31,6,59]
# for category_id in category:
# downloadmore(category_id)
# downloadmore()
没有合适的资源?快使用搜索试试~ 我知道了~
Python视频下载.rar
共6个文件
py:3个
mp4:3个
需积分: 5 0 下载量 36 浏览量
2023-11-18
13:37:50
上传
评论
收藏 14.26MB RAR 举报
温馨提示
Python视频下载
资源推荐
资源详情
资源评论
收起资源包目录
Python视频下载.rar (6个子文件)
Python视频下载
index.py 1KB
image
视频下载.py 3KB
demo.py 2KB
video
消毒测温一体盔甲,用科技对抗疫情!.mp4 5.72MB
世界最快超级计算机找到77个化学物质,可阻止新冠病毒传播.mp4 3.54MB
NASA暂时关闭两个火箭基地,美国重返月球计划遇阻.mp4 5.34MB
共 6 条
- 1
资源评论
YOLO数据集工作室
- 粉丝: 443
- 资源: 1569
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功