本文主要是介绍删除晋江原创网文章干扰码的思路(特征匹配),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文章仅授权非营利性质之用途,不得做它用。
著作人身权受法律保护,转载请保留作者署名,保持文章完整性,谢绝修改!
本文章仅作为技术讨论,切勿使用本文章提及的技术,侵害他人权益。由此引发的一切法律责任以及其他纠纷,本文作者均得免责!
特此声明!
著作人身权受法律保护,转载请保留作者署名,保持文章完整性,谢绝修改!
本文章仅作为技术讨论,切勿使用本文章提及的技术,侵害他人权益。由此引发的一切法律责任以及其他纠纷,本文作者均得免责!
特此声明!
==================================================
晋江原创网是国内很著名的原创文学发布网站。(http://www.jjwxc.net/)有很多作者的专栏,更新很快。
我有时会帮别人到上面找一些连载的文章,不过晋江的文章每个段落的后面都有一个干扰码,一般是乱码加上诸如什么“保护版权”的字样,看着很不爽啊!
比如:
Quote:
的 8df707a948fac1b4 保护版权!尊重作者!反对盗版! @ Copyright of 晋江原创网 @
的 26e359e83860db1d
这些干扰码的技术特点是:
1、内容不固定,含有随机的16进制数;
2、长度不固定,每行干扰码的长度不固定,无论是前面的16进制随机数,还是后面的中文提示。
3、干扰码在HTML中标注的颜色值不固定,随机性很强,虽然说还保持在一个色调范围内。
下面分析一下干扰码的特征:
1、以中文“的”开头;
2、后面有一串16进制数字;
3、干扰码最后必定是一个换行的标记(HTML中为<br>,文本中为chr(10)+chr(13),如果我没记错的话)
根据特征删除干扰码的思路:
1、判断开头;
2、找到结束;
3、删除!
附带的代码请看附件部分!用ASP写的,嘿嘿。
没办法,因为ASP是我机器上最好的开发环境,方便快捷,能用它做的我就懒得用别的了。
需要完善代码的细节部分,因为为了复制文章随手写的,很多特殊情况没有处理。
比如找到“的”之后,默认判定后面还有字符。如果文章以“的”结尾,程序就报错了,呵呵~
<%
dim i, j, text, text_len, tmp
text=request.Form("text")
i=1
k=1
if text<>"" then
do while instr(i, text, "的")>0
if instr(i, text, "的")>0 then
'response.Write "T1"
j=instr(i, text, "的")
'response.Write j&"|"
'response.Write asc(mid(text, j+3, 1))
if (asc(mid(text, j+2, 1))>47 and asc(mid(text, j+2, 1))<58) or (asc(mid(text, j+2, 1))>96 and asc(mid(text, j+2, 1))<123) then
tmp=mid(text, j, instr(j, text, chr(10))-j+1)
text=replace(text, tmp, "")
end if
i=j+1
end if
k=k+1
if k>5000 then exit Do
loop
text=replace(replace(text, chr(10), ""), chr(13), "<br>")
text=replace(text, " ", "")
response.Write text
else
%>
<form action="" method="post">
<textarea name="text" cols="100" rows="30"></textarea><br>
<input type="submit"><input type="reset">
</form>
<%
end if
%>
dim i, j, text, text_len, tmp
text=request.Form("text")
i=1
k=1
if text<>"" then
do while instr(i, text, "的")>0
if instr(i, text, "的")>0 then
'response.Write "T1"
j=instr(i, text, "的")
'response.Write j&"|"
'response.Write asc(mid(text, j+3, 1))
if (asc(mid(text, j+2, 1))>47 and asc(mid(text, j+2, 1))<58) or (asc(mid(text, j+2, 1))>96 and asc(mid(text, j+2, 1))<123) then
tmp=mid(text, j, instr(j, text, chr(10))-j+1)
text=replace(text, tmp, "")
end if
i=j+1
end if
k=k+1
if k>5000 then exit Do
loop
text=replace(replace(text, chr(10), ""), chr(13), "<br>")
text=replace(text, " ", "")
response.Write text
else
%>
<form action="" method="post">
<textarea name="text" cols="100" rows="30"></textarea><br>
<input type="submit"><input type="reset">
</form>
<%
end if
%>
这篇关于删除晋江原创网文章干扰码的思路(特征匹配)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!