如果你不是版主,那么这个工具对你作用不大,请绕路。
使用方法:
1、复制如下HTML代码到记事本中;
2、保存文件,编码为“UTF8”,扩展名为“.HTA”;
3、在IE中用版主身份登录;
4、双击文件运行该程序;
5、将要删除的帖子链接复制到"需要删除的链接:"文本框中,以回车分隔;
6、点击“开始删除”。
使用方法:
1、复制如下HTML代码到记事本中;
2、保存文件,编码为“UTF8”,扩展名为“.HTA”;
3、在IE中用版主身份登录;
4、双击文件运行该程序;
5、将要删除的帖子链接复制到"需要删除的链接:"文本框中,以回车分隔;
6、点击“开始删除”。
- <html>
- <head>
- <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/>
- <title>CSDN批量删帖--清洁工2008版</title>
- </head>
- <body>
- <scripttype="text/javascript">
- /*--
- 设计:ZswangY37
- 日期:2008年10月18日
- 博客:http://blog.csdn.net/zswang
- --*/
- $=document.getElementById;
- varForAppending=8;//追加模式
- varForReading=1;//读取模式
- varForWriting=2;//写入模式
- ///<summary>
- ///将字符串追加到文本文件最后
- ///</summary>
- ///<paramname="filename">文件名</param>
- ///<paramname="text">所要追加的字符串</param>
- ///<returns>返回追加是否成功</returns>
- functionAppendFileText(filename,text)
- {
- varfso=newActiveXObject("Scripting.FileSystemObject");//文件系统
- varistream=fso.OpenTextFile(filename,ForAppending,true);
- if(!istream)return;
- try{
- istream.write(text);
- istream.Close();
- returntrue;
- }catch(e){
- returnfalse;
- }finally{
- istream=null;
- fso=null;
- }
- }
- ///<summary>
- ///追加日志
- ///</summary>
- ///<paramname="text">日志文本</param>
- functionAppendLog(text){
- $("TextareaLog").value+=text;
- AppendFileText("log.txt",text);
- }
- ///<summary>
- ///分析帖子内容
- ///</summary>
- ///<paramname="topicText">帖子HTML文本</param>
- ///<returns>返回帖子信息</returns>
- functionTopicInfo(topicText){
- topicTexttopicText=topicText.replace(//r/n/g,"");
- varre=//<span/s*csdnid=/"isCheckOut/"/s*class=/"color_red/"/>(.*?)/<//span/>/g;
- if(re.exec(topicText))this.isCheckOut=RegExp.$1;//是否已经结贴
- varre=//<meta/s*csdnid=/"sectionId/"/s*content=/"(.*?)/"(/s*//)*/>/g;
- if(re.exec(topicText))this.forumId=RegExp.$1;//版块ID
- varre=//<meta/s*id=/"topicViewUrl/"/s*csdnid=/"topicViewUrl/"/s*content=/"(.*?)/"(/s*//)*/>/g;
- if(re.exec(topicText))this.topicUrl=RegExp.$1;//帖子链接
- varre=/http:topic.csdn.net//u///d+///d+//([0-9a-z/-]+).html/g;
- if(re.exec(topicText))this.topicId=RegExp.$1;//帖子链接
- varre=//<meta/s*csdnid=/"description/"/s*content=/"(.*?)/"/s*name=/"description/"(/s*//)*/>/g;
- if(re.exec(topicText))this.description=RegExp.$1;//帖子主题
- varre=//<var/s*id=/"point/"/s*csdnid=/"topicPoint/"/>(.*?)/<//var/>/g;
- if(re.exec(topicText))this.point=RegExp.$1;//帖子点数
- varre=//<var/s*csdnid=/"replyCount/">(.*?)/<//var/>/g;
- if(re.exec(topicText))this.replyCount=RegExp.$1;//回复次数
- varre=//<a/s*href=/"http/:hi.csdn.net//(.*?)/"/s*.*?/>/g;
- if(re.exec(topicText))this.username=RegExp.$1;//楼主
- varre=//<var/s*csdnid=/"topicPostDate/">(.*?)/<//var/>/g;
- if(re.exec(topicText))this.topicPostDate=RegExp.$1;//发帖时间
- }
- ///<summary>
- ///获取链接的文本内容
- ///</summary>
- ///<paramname="url">页面链接地址</param>
- ///<returns>返回页面HTML文本</returns>
- functionGetUrlText(url){
- varxmlhttp=newActiveXObject("Microsoft.XMLHTTP");
- try{
- xmlhttp.open("get",url,false);
- xmlhttp.send();
- returnxmlhttp.responseText;
- }catch(e){
- return"";
- }finally{
- xmlhttp=null;
- }
- }
- ///<summary>
- ///分析删除提交信息
- ///</summary>
- ///<paramname="htmlText">页面文本</param>
- ///<returns>返回删除提交信息对象</returns>
- functionDeleteInfo(htmlText){
- htmlTexthtmlText=htmlText.replace(//r/n/g,"");
- varre=/<input/s+type=/"hidden/"/s+name=/"__VIEWSTATE/"/s+id=/"__VIEWSTATE/"/s+value=/"(.*?)/"/s+//>/g;
- if(re.exec(htmlText))this.viewState=RegExp.$1;
- varre=/<input/s+type=/"hidden/"/s+name=/"__EVENTVALIDATION/"/s+id=/"__EVENTVALIDATION/"/s+value=/"(.*?)/"/s+//>/g;
- if(re.exec(htmlText))this.eventValidation=RegExp.$1;
- }
- ///<summary>
- ///分析提交返回信息
- ///</summary>
- ///<paramname="htmlText">页面文本</param>
- ///<returns>返回提交返回信息对象</returns>
- functionResultInfo(htmlText){
- htmlTexthtmlText=htmlText.replace(//r/n/g,"");
- varre=/<div/s+class="csdnTipContent">/s*<span/s+class="(.*?)">(.*?)<//span>/s*<//div>/ig;
- if(re.exec(htmlText)){
- this.state=RegExp.$1;
- this.info=RegExp.$2;
- }
- }
- ///<summary>
- ///提交删帖请求
- ///</summary>
- ///<paramname="url">处理删帖的链接</param>
- ///<paramname="deleteInfo">删帖相关参数</param>
- ///<returns>返回提交页面文本</returns>
- functionPostRequest(url,deleteInfo)
- {
- vardata="__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE="+encodeURIComponent(deleteInfo.viewState)+
- "&reasonGroup=2&ctl00%24ContentPlaceHolder1%24tb_Reason="+encodeURIComponent($("TextReason").value)+
- "&ctl00%24ContentPlaceHolder1%24bt_Submit=%E7%A1%AE%E5%AE%9A&"+
- "__EVENTVALIDATION="+encodeURIComponent(deleteInfo.eventValidation);
- varxmlhttp=newActiveXObject("Microsoft.XMLHTTP");
- try{
- xmlhttp.open("Post",url,false);
- xmlhttp.setRequestHeader("Referer",url);
- xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
- xmlhttp.setRequestHeader("Accept-Encoding","gzip,deflate");
- xmlhttp.setRequestHeader("Content-Length",data.length);
- xmlhttp.send(data);
- returnxmlhttp.responseText;
- }catch(e){
- returne.message;
- }finally{
- xmlhttp=null;
- }
- }
- functionButtonStartClick(){
- varurls=$("TextareaUrls").value.split(//r/n/);//论坛列表
- for(vari=0;i<urls.length;i++){
- vartopicInfo=newTopicInfo(GetUrlText(urls[i]));
- if(typeoftopicInfo.forumId=="string")
- {
- vardeleteUrl="http://forum.csdn.net/PointForum/Manage/DeleteTopic.aspx?forumId="+
- topicInfo.forumId+"&topicId="+topicInfo.topicId+"/r/n";
- vardeleteInfo=newDeleteInfo(GetUrlText(deleteUrl));
- if(typeofdeleteInfo.viewState=="string")
- {
- varresultInfo=newResultInfo(PostRequest(deleteUrl,deleteInfo));
- AppendLog(topicInfo.topicUrl+"--("+resultInfo.info+")/r/n");
- }
- }
- else$("TextareaLog").value+=urls[i]+"--(无效的帖子)/r/n";
- }
- }
- functionButtonAnalyseClick(){
- vartext=$("TextareaText").value;
- texttext=text.replace(//r/n/g,"");
- varmatchs=text.match(/http:topic.csdn.net//u///d+///d+//[0-9a-z/-]+.html/g);
- for(vari=0;matchs&&i<matchs.length;i++){
- $("TextareaUrls").value+=matchs[i]+"/r/n";
- }
- }
- </script>
- <tablestyle="width:100%;height:100%;">
- <trstyle="height:10%">
- <td>
- <div>
- 原因:<inputtype="input"value="非法帖子"id="TextReason"/>
- <inputtype="button"value="分析链接"onclick="ButtonAnalyseClick();"id="ButtonAnalyse"/>
- <inputtype="button"value="开始删除"onclick="ButtonStartClick();"id="ButtonStart"/>
- </div>
- <div>
- </div>
- </td>
- </tr>
- <tr>
- <td>
- 原始文本:
- <textareaid="TextareaText"style="width:100%;height:100%"></textarea>
- </td>
- </tr>
- <tr>
- <td>
- 需要删除的链接:
- <textareaid="TextareaUrls"style="width:100%;height:100%"></textarea>
- </td>
- </tr>
- <tr>
- <td>
- 处理的日志:
- <textareaid="TextareaLog"style="width:100%;height:100%"></textarea>
- </td>
- </tr>
- </table>
- </body>
- </html>