在网上看到一有趣的视频,可惜没有下载接口。这里分三步得到视频
一、准备文件
找到Google浏览器的缓存位置:
C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default\Cache
删除该目录中所有文件(关闭浏览器才能删完)
重新打开网页,播放视频,
视屏以小文件的方式缓存进来,按时间排序。
root@ubuntu:/mnt/hgfs/winshare/temp# ls
f_000020 f_000022 f_000024 f_000026 f_000028 f_00002a f_00002c f_00002e
f_000021 f_000023 f_000025 f_000027 f_000029 f_00002b f_00002d f_00002f
二、C程序
1、编写代码,如下:
#include <stdio.h>
#include <stdlib.h> //exit atoi
#define filename "new.mp4"
int main(int argc, char *argv[])
{
size_t len_read = -1;
size_t len_wrire = -1;
int size_of_file = atoi(argv[2]);
char *buf = malloc(size_of_file);
FILE* fp = NULL;
fp = fopen(argv[1], "r"); //只读方式打开
if (NULL == fp)
{
perror("fopen(打开)片段文件");
exit(-1);
}
// 读
len_read = fread(buf, sizeof(char), size_of_file, fp);
if(len_read != size_of_file)
{
perror("fread(读取)片段文件");
exit(-1);
}
else
printf("读取%d字节\n", len_read);
FILE* fp_new = NULL;
fp_new = fopen(filename, "a+"); //接续写
if (NULL == fp_new)
{
perror("fopen(创建/打开)mp4文件");
exit(-1);
}
// 写
len_wrire = fwrite(buf, sizeof(char), len_read, fp_new);
if(len_wrire != len_read)
{
perror("fwrite(写入)片段文件");
exit(-1);
}
else
printf("写入%d字节\n", len_wrire);
free(buf);
fclose(fp);
fclose(fp_new);
return 0;
}
2、编译链接:
root@ubuntu:/mnt/hgfs/winshare/temp# vi linkFile.c
root@ubuntu:/mnt/hgfs/winshare/temp# gcc linkFile.c
root@ubuntu:/mnt/hgfs/winshare/temp# ls
a.out f_000022 f_000025 f_000028 f_00002b f_00002e f_000020 f_000023 f_000026 f_000029 f_00002c f_00002f f_000021 f_000024 f_000027 f_00002a f_00002d linkFile.c
三、脚本:
1、编写脚本、如下:
#!/bin/bash
for i in `ls | grep -vE "\w\.\w"`
do
size_of_file=`wc -c $i | awk '{print $1}'`
echo '连接文件:' $i '; 大小:' $size_of_file
./a.out $i $size_of_file
sleep 1
done
2、运行脚本,得到mp4文件,如下:
root@ubuntu:/mnt/hgfs/winshare/temp# vi run.sh
root@ubuntu:/mnt/hgfs/winshare/temp# ls
a.out f_000022 f_000025 f_000028 f_00002b f_00002e f_000020 f_000023 f_000026 f_000029 f_00002c f_00002f run.sh
f_000021 f_000024 f_000027 f_00002a f_00002d linkFile.c
root@ubuntu:/mnt/hgfs/winshare/temp# vi run.sh
root@ubuntu:/mnt/hgfs/winshare/temp# ./run.sh
连接文件: f_000020 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000021 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000022 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000023 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000024 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000025 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000026 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000027 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000028 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_000029 ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_00002a ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_00002b ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_00002c ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_00002d ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_00002e ; 大小: 1048576
读取1048576字节
写入1048576字节
连接文件: f_00002f ; 大小: 256145
读取256145字节
写入256145字节
root@ubuntu:/mnt/hgfs/winshare/temp# ls
a.out f_000022 f_000025 f_000028 f_00002b f_00002e f_000020 f_000023 f_000026 f_000029 f_00002c f_00002f new.mp4 f_000021 f_000024 f_000027 f_00002a f_00002d linkFile.c run.sh
root@ubuntu:/mnt/hgfs/winshare/temp#