请选择 进入手机版 | 继续访问电脑版

北海实用推荐

  • 公众号“北海实用推荐”
搜索

公众号
“北海实用推荐”

查看: 310|回复: 0

[Tampermonkey脚本JS] CSDN自动评论

[复制链接]

135

主题

141

帖子

632

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
632
发表于 2017-12-9 18:55:04 | 显示全部楼层 |阅读模式
  1. // ==UserScript==
  2. // @name        CSDN自动评论
  3. // @author      King.Sollyu 原作:杨自强
  4. // @namespace   Sollyu
  5. // @description 自动评论,返还下载积分
  6. // @require     http://code.jquery.com/jquery-1.9.0.min.js
  7. // @include     http://download.csdn.net/my/downloads
  8. // @include     http://download.csdn.net/my/downloads/*
  9. // @icon        http://tb.himg.baidu.com/sys/por ... 8ad5265626f726ee90f
  10. // @version     2.1
  11. // ==/UserScript==
  12. // 2015-05-20.2.1    在Chrome中可用
  13. // 2013-01-25.1.0    CSDN自动评论



  14. //多少时间评论一次,单位:秒
  15. var tTime=65;

  16. // 预定义的评论内容,可按照格式自行添加,注意最后一行后面没有逗号
  17. var contentPL=new Array(
  18.     "很全面,很好用,谢谢分享.",
  19.     "挺不错的资料,谢谢分享.",
  20.     "很全,什么都有了,感谢.",
  21.     "比相关书籍介绍的详细,顶一个.",
  22.     "还行,适合于初级入门的学习.",
  23.     "很好的资料,很齐全,谢谢.",
  24.     "还可以,就是感觉有点乱.",
  25.     "感謝LZ收集,用起來挺方便.",
  26.     "感觉还行,只是感觉用着不是特别顺手.",
  27.     "很有学习价值的文档,感谢.",
  28.     "内容很丰富,最可贵的是资源不需要很多积分.",
  29.     "这个真的非常好,借鉴意义蛮大.",
  30.     "有不少例子可以参考,目前正需要.",
  31.     "下载后不能正常使用.",
  32.     "例子简单实用,但如果再全面些就更好了."
  33. );

  34. var queueList = {};

  35. // css
  36. var  csdnHelperCss=document.createElement('style');
  37. csdnHelperCss.type='text/css';
  38. $(csdnHelperCss).html('.popWindow{position:fixed;z-index:10000;top:10px;left:10px;}.popWindow>span{display:block;text-align:left;color:cyan;text-shadow:0 0 2px white;background-color:#555;box-shadow:-1px -1px 4px gray;margin:5px 0 0 0;padding:00 6px 0 6px;cursor:pointer;font-size: 13px;}');

  39. $('body').prepend(csdnHelperCss);
  40. $('body').prepend('<div class="popWindow"></div>');

  41. //将本页待评论资源自动加入评论队列
  42. $(".btn-comment").each(function(){
  43.     if(this.tagName!="A")
  44.         return;
  45.     var reg=/\/([_a-zA-Z0-9]+)\/([0-9]+)#/;
  46.     var src=$(this).attr('href').match(reg);
  47.     addQueue(src[1],src[2],(new Date()).getTime());
  48.     $(this).parent().html("已加入评论队列");
  49. });

  50. // 若待评论数大于0则提示用户滞留在本窗口
  51. console.debug("本次任务总数--->"+getJsonLength(queueList));
  52. if(getJsonLength(queueList) > 0){
  53.     popWindow("待评论任务数:"+getJsonLength(queueList),0);
  54.     popWindow("请保持在本界面,以便进行评价",6000);
  55.     setInterval(searchToPost,tTime*1000);
  56.     searchToPost();
  57. }else{
  58.     popWindow("无待评论任务",0);
  59. }

  60. function getJsonLength(jsonData){
  61.     var jsonLength = 0;
  62.     for(var item in jsonData){
  63.         jsonLength++;
  64.     }
  65.     return jsonLength;
  66. }

  67. // 添加评论队列
  68. function addQueue(owner,sourceID,stamp){
  69.     queueList[stamp] = {owner, sourceID};
  70.     console.log(stamp, queueList[stamp]);
  71.     popWindow('已添加到任务队列,['+owner+','+sourceID+']',2000);
  72. }

  73. // 显示消息
  74. function popWindow(str,delayTime){
  75.     var obj = $('.popWindow').append('<span>'+str+'</span>').children().last();
  76.     if(delayTime>0)
  77.         obj.delay(delayTime).hide(1500,function(){$(this).remove();});
  78. }

  79. function searchToPost(){
  80.     // 查询有没有可以评论的资源
  81.     for (var stamp in queueList){
  82.         var res = queueList[stamp];
  83.         post(res['owner'], res['sourceID'], stamp);
  84.         break;
  85.     }
  86. }
  87. // 发送评论
  88. function post(owner,sourceID,stamp){
  89.     $.ajax({
  90.         type:"get",
  91.         url:"http://download.csdn.net/index.php/comment/post_comment",
  92.         headers:{
  93.             "Referer":"http://download.csdn.net/detail/"+owner+"/"+sourceID,
  94.             "Content-type":"application/x-www-form-urlencoded; charset=UTF-8",
  95.             "X-Requested-With":"XMLHttpRequest"
  96.         },
  97.         data:{
  98.             "content":contentPL[Math.round(Math.random()*(contentPL.length-1))],
  99.             "jsonpcallback":"jsonp"+(new Date()).getTime(),
  100.             "rating":"5",
  101.             "sourceid":sourceID,
  102.             "t":(new Date()).getTime()
  103.         },
  104.         success:function(res){
  105.             var index = res.indexOf("({");
  106.             var data = eval(res.substr(index));
  107.             var resMsg="----";
  108.             console.log(data.succ);
  109.             if(data.succ>0){
  110.                 delete queueList[stamp];
  111.                 resMsg = '任务成功! 已评论['+owner+','+sourceID+']<br/>-----剩余任务数:' + getJsonLength(queueList);
  112.                 console.debug(resMsg);
  113.                 popWindow(resMsg,(tTime+20)*1000);
  114.                 $('.popWindow').children().each(
  115.                     function(){
  116.                         if(this.innerHTML.indexOf("待评论任务数")>=0)
  117.                             this.innerHTML=("待评论任务数:"+getJsonLength(queueList));
  118.                     });
  119.             }
  120.             else{
  121.                 resMsg = '任务评论失败['+owner+','+sourceID+']'+"<br/>----原因:"+data.msg;
  122.                 console.debug(resMsg.replace(/<br\/>/,""));
  123.                 popWindow(resMsg,60000);
  124.                 if(data.msg.indexOf("您已经发表过评论")>=0){
  125.                     delete queueList[stamp];
  126.                 }
  127.             }
  128.         }
  129.     });
  130. }
复制代码

请关注公众号:“北海实用推荐”,期待我们下次更新。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|北海实用推荐 ( 桂ICP备15001999号-2  

GMT+8, 2018-4-22 23:59 , Processed in 1.043054 second(s), 10 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表