删除晋江原创网文章干扰码的思路(特征匹配)

本文章仅授权非营利性质之用途,不得做它用。
著作人身权受法律保护,转载请保留作者署名,保持文章完整性,谢绝修改!
本文章仅作为技术讨论,切勿使用本文章提及的技术,侵害他人权益。由此引发的一切法律责任以及其他纠纷,本文作者均得免责!
特此声明!

==================================================

晋江原创网是国内很著名的原创文学发布网站。(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
%>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值