为了账号安全,请及时绑定邮箱和手机立即绑定

两行代码解决百度云视频变成 8秒净网公告

标签:
Python

用了几年了,成功率大概在80%以上。

很多人在百度云上都有这样的经历,辛苦下载的视频上传到百度云后,一段时间后会变成8秒的“净网”广告。

伤心

如果出现上面的界面,恭喜你,基本上没救了,趁早删了视频节省下空间吧。

想了一下,百度大概有种几种手段来判断视频问题。

  1. 安排人员去做视频排查,查一个标记一个。

  2. 抽查一些视频,利用视频数据帧截取一些视频图片,再进行排查

  3. 比较视频的MD5码

1是不可能的,最有可能就是2跟3一起。先利用视频里面的一些载图来标定是不是不合法的视频,这个判断有可能会误杀一些视频,但是同时也可能会漏掉一些视频。

有些视频刚上传上去就会被判断出来,并且有些文件基本上是秒传的,所以说明百度云里面是根据MD5来判断的。每个文件对应一个MD5,一个文件百度云上保存一份,后面其它人上传的时候,不管文件是什么名称,只要判断MD5是一样的,复制一个链接给他就行了, 不用再上传文件,这样节省了服务器带宽,也节省了用户的时间。目前所有的云存储都是这样实现的。

也说明了修改文件的名称是没有用的,修改文件的名称是没有用的,修改文件的名称是没有用的

为啥,因为MD5不包含文件名称属性。

知道这个原理后,解决百度云 净网行动应该很简单了。

fo = open("test.mp4", "w")
     testFile.write("ah")

打开文件,然后在文件后面追加几个字符,这几个字符你随便写。不影响整体文件播放。

亲测有效。是不是两行。

当然我是比较懒的,不可能一个视频一个视频的处理,所以我把文件夹下面的视频文件都修改了,可以参考下面的代码。

# -*- coding: utf-8 -*-import hashlibimport shutilimport osfrom os import walkfrom os import listdirdef get_filepaths(directory):
    file_paths = []  # List which will store all of the full filepaths.

    for root, directories, files in os.walk(directory):        for filename in files:
            filepath = os.path.join(root, filename)
            extension = os.path.splitext(filename)[1][1:]            if extension in ("jpg", "png", "torrent"):
                os.remove(filepath)            else:
                file_paths.append(filepath)  # Add it to the list.

    return file_paths  

dir = "D://xunleidown//private" // your dir 
new_file_name = []

files = get_filepaths(dir)for file in files:
    filename, file_extension = os.path.splitext(file)
    new_file_name = filename + "bak" + file_extension    with open(file, "a") as testFile:
        testFile.write("ah")print "done"



作者:anghoo
链接:https://www.jianshu.com/p/0c2fd1becc4f


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消