乐趣区

关于python:百度云资源被和谐两行代码帮你解决

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

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

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

想了一下,百度大略有种几种伎俩来判断视频问题。

  1. 安顿人员去做视频排查,查一个标记一个。
  2. 抽查一些视频,利用视频数据帧截取一些视频图片,再进行排查
  3. 比拟视频的 MD5 码

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

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

也阐明了 批改文件的名称是没有用的,批改文件的名称是没有用的,批改文件的名称是没有用的

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

晓得这个原理后,解决百度云 净网口头应该很简略了。

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

关上文件,而后在文件前面追加几个字符,这几个字符你轻易写。不影响整体文件播放。

亲测无效。是不是两行。

当然我是比拟懒的,不可能一个视频一个视频的解决,所以我把文件夹上面的视频文件都批改了,能够参考上面的代码。

# -*- coding: utf-8 -*-

import hashlib
import shutil
import os
from os import walk
from os import listdir


def 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"

如发现错误或看不懂的中央,可在评论区提出,大家一起交换!

如果文章对您有帮忙,点赞 + 关注,您的反对是我最大的能源

退出移动版