用了幾年了,成功率大概在80%以上。
很多人在百度云上都有這樣的經(jīng)歷,辛苦下載的視頻上傳到百度云后,一段時(shí)間后會(huì)變成8秒的“凈網(wǎng)”廣告。

如果出現(xiàn)上面的界面,恭喜你,基本上沒(méi)救了,趁早刪了視頻節(jié)省下空間吧。
想了一下,百度大概有種幾種手段來(lái)判斷視頻問(wèn)題。
- 安排人員去做視頻排查,查一個(gè)標(biāo)記一個(gè)。
- 抽查一些視頻,利用視頻數(shù)據(jù)幀截取一些視頻圖片,再進(jìn)行排查
- 比較視頻的MD5碼
1是不可能的,最有可能就是2跟3一起。先利用視頻里面的一些載圖來(lái)標(biāo)定是不是不合法的視頻,這個(gè)判斷有可能會(huì)誤殺一些視頻,但是同時(shí)也可能會(huì)漏掉一些視頻。
有些視頻剛上傳上去就會(huì)被判斷出來(lái),并且有些文件基本上是秒傳的,所以說(shuō)明百度云里面是根據(jù)MD5來(lái)判斷的。每個(gè)文件對(duì)應(yīng)一個(gè)MD5,一個(gè)文件百度云上保存一份,后面其它人上傳的時(shí)候,不管文件是什么名稱,只要判斷MD5是一樣的,復(fù)制一個(gè)鏈接給他就行了, 不用再上傳文件,這樣節(jié)省了服務(wù)器帶寬,也節(jié)省了用戶的時(shí)間。目前所有的云存儲(chǔ)都是這樣實(shí)現(xiàn)的。
也說(shuō)明了修改文件的名稱是沒(méi)有用的,修改文件的名稱是沒(méi)有用的,修改文件的名稱是沒(méi)有用的。
為啥,因?yàn)镸D5不包含文件名稱屬性。
知道這個(gè)原理后,解決百度云 凈網(wǎng)行動(dòng)應(yīng)該很簡(jiǎn)單了。
fo = open("test.mp4", "w")
fo.write("ah")
打開文件,然后在文件后面追加幾個(gè)字符,這幾個(gè)字符你隨便寫。不影響整體文件播放。
親測(cè)有效。是不是兩行。
當(dāng)然我是比較懶的,不可能一個(gè)視頻一個(gè)視頻的處理,所以我把文件夾下面的視頻文件都修改了,可以參考下面的代碼。
# -*- 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"