# 短视频资讯平台
## 一、软件需求
- 有video.csv视频库文件,其中有999条短视频数据,格式如下:
![image-20210105223331765](assets/image-20210105223331765.png)
- 项目的核心功能有:查看、搜索、下载
- 分页看新闻(每页显示10条),提示用户输入页码,根据页码显示指定页面的数据。
- 提示用户输入页码,根据页码显示指定页面的数据。
- 当用户输入的页码不存在时,默认显示第1页。
- 搜索专区
- 用户输入关键字,根据关键词筛选出所有匹配成功的短视频资讯。
- 支持的搜索两种搜索格式:
- `id=1715025`,筛选出id等于1715025的视频(video.csv的第一列)。
- `key=文本`,模糊搜索,筛选包含关键字的所有新闻(video.csv的第二列)。
- 下载专区
- 用户输入视频id,根据id找到对应的mp4视频下载地址,然后下载视频到项目的files目录。
- 视频的文件名为:`视频id-年-月-日-时-分-秒.mp4`
- 视频下载代码示例
```python
import requests
res = requests.get(
url='https://video.pearvideo.com/mp4/adshort/20210105/cont-1715046-15562045_adpkg-ad_hd.mp4'
)
# 视频总大小(字节)
file_size = int(res.headers['Content-Length'])
download_size = 0
with open('xxx.mp4', mode='wb') as file_object:
# 分块读取下载的视频文件(最多一次读128字节),并逐一写入到文件中。 len(chunk)表示实际读取到每块的视频文件大小。
for chunk in res.iter_content(128):
download_size += len(chunk)
file_object.write(chunk)
file_object.flush()
message = "视频总大小为:{}字节,已下载{}字节。".format(file_size, download_size)
print(message)
file_object.close()
res.close()
```
- 下载的过程中,输出已下载的百分比,示例代码如下:
```python
import time
print("正在下载中...")
for i in range(101):
text = "\r{}%".format(i) # \r:覆盖显示
print(text, end="")
time.sleep(0.2)
print("\n下载完成")
```
## 二、目录结构
```python
short_video
├── db 文件夹,存放数据库的数据
│ └── video.csv
│
├── files 文件夹,存放用户下载的文件
│ └── video_id-年-月-日-时-分-秒.mp4
│
├── src 包,业务代码
│ ├── service 包,三大功能
│ ├── download.py 下载新闻
│ ├── page.py 查看新闻
│ ├── search.py 搜索新闻
│ └── handler.py 逻辑处理文件
│
├── app.py 启动文件
│
└── config.py 配置文件
```
## 三、执行效果
### 1、功能菜单
![image-20230413112837567](assets/image-20230413112837567.png)
### 2、查看新闻
![image-20230413132105941](assets/image-20230413132105941.png)
### 3、搜索新闻
![image-20230413132250255](assets/image-20230413132250255.png)
### 4、下载新闻
![image-20230413132901966](assets/image-20230413132901966.png)
没有合适的资源?快使用搜索试试~ 我知道了~
python之短视频资讯平台
共31个文件
py:11个
pyc:7个
png:5个
需积分: 8 1 下载量 97 浏览量
2023-04-13
15:07:49
上传
评论
收藏 6.08MB RAR 举报
温馨提示
python之短视频资讯平台
资源推荐
资源详情
资源评论
收起资源包目录
python之短视频资讯平台.rar (31个子文件)
python之短视频资讯平台
readme
assets
image-20230413132105941.png 47KB
image-20230413132250255.png 20KB
image-20230413112837567.png 4KB
image-20210105223331765.png 469KB
image-20230413132901966.png 10KB
README.md 4KB
short_video
files
__init__.py 167B
1711349-2023-04-13-13-26-07.mp4 5.59MB
app.py 100B
src
__init__.py 57B
handler.py 1KB
service
__init__.py 64B
download.py 3KB
page.py 3KB
__pycache__
download.cpython-36.pyc 2KB
page.cpython-36.pyc 2KB
__init__.cpython-36.pyc 213B
search.cpython-36.pyc 2KB
search.py 3KB
__pycache__
handler.cpython-36.pyc 1010B
__init__.cpython-36.pyc 198B
.idea
short_video.iml 441B
workspace.xml 21KB
misc.xml 294B
modules.xml 281B
encodings.xml 138B
__pycache__
config.cpython-36.pyc 339B
test.py 491B
config.py 284B
db
__init__.py 251B
video.csv 169KB
共 31 条
- 1
资源评论
钙加硒
- 粉丝: 1
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功