<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> </head> <body style="background-color: gray;"> <div class="container"> <form method="get"> <h4>你的cookie:</h4> <textarea name="cookie" class="form-control" rows="3" placeholder="你的cookie,调试里面粘贴过来"></textarea> <h4>某篇微博id:</h4> <input name="id" type="number" class="form-control" placeholder="点开一篇微博时地址栏的一串数字"> <h4>功能:</h4> <select class="form-control" name="scene"> <option value="转发">转发</option> </select> <h4>操作多少次:</h4> <select class="form-control" name="count"> <option value="100">10</option> <option value="100">100</option> <option value="500">500</option> <option value="1000">1000</option> <option value="5000">5000</option> <option value="10000">10000</option> </select> <button style="margin-top: 50px;width: 100%;" class="btn btn-default" type="submit">GOGOGO</button> </form> </div> </body> </html> <?php /*header("Content-type: text/html; charset=utf-8");*/ ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行. set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去 if(!isset($_GET['cookie'])||!isset($_GET['count'])||!isset($_GET['id'])){ return; } if($_GET['cookie']==''||$_GET['count']==''||$_GET['id']==''){ echo '<h1>表单不全!</h1>'; return; } /*print_r($_GET);*/ $id = $_GET['id']; $cookie = $_GET['cookie']; $count = $_GET['count']; while($count>0){ $stData = json_decode( getSt($cookie),true); if($stData['data']['login']=='true'){ $st = $stData['data']['st']; echo '登陆成功<br>'; }else{ echo '登陆失败:'.json_encode($stData).'<br>'; break; } ob_flush(); //输出缓冲 flush(); $result = json_decode(resport($id,$st,$cookie),true) ; if($result['ok']!='1'){ echo '操作失败:'.json_encode($result).'<br>'; echo '程序暂停半小时再开启<br>'; ob_flush(); //输出缓冲 flush(); //如果失败,休息半小时吧 sleep(60*10); }else{ echo '成功<br>'; ob_flush(); //输出缓冲 flush(); } $count--; sleep(30); } function getWord(){ $data = ['[爱你]','[拜拜]','[抱抱]','[悲伤]','[并不简单]','[鄙视]','[闭嘴]','[馋嘴]','[吃瓜]','[吃惊]','[哈欠]','[打脸]','[顶]','[费解]','[感冒]','[跪了]','[鼓掌]','[哈哈]','[害羞]','[汗]','[微笑]','[笑而不语]','[黑线]','[哼]','[坏笑]','[色]','[挤眼]','[可爱]','[可怜]','[酷]','[骷髅]','[困]','[白眼]','[泪]','[怒]','[怒骂]','[钱]','[亲亲]','[傻眼]','[生病]','[失望]','[衰]','[睡]','[思考]','[太开心]','[摊手]','[舔屏]','[偷笑]','[吐]','[挖鼻]','[委屈]','[污]','[笑cry]','[憧憬]','[嘻嘻]','[嘘]','[互粉]','[抓狂]','[允悲]','[晕]','[右哼哼]','[疑问]','[阴险]','[奥特曼]']; return $data[rand(0,count($data)-1)].$data[rand(0,count($data)-1)].$data[rand(0,count($data)-1)].$data[rand(0,count($data)-1)].$data[rand(0,count($data)-1)]; } //转发 function resport($id,$st,$cookie){ $url = 'https://m.weibo.cn/api/statuses/repost'; $referer = 'https://m.weibo.cn/compose/repost?id='.$id; $data = [ 'id'=>$id, 'content'=>getWord(), 'visible'=>'1', 'mid'=>$id, 'st'=>$st ]; return _grab($url,$data,$cookie,$referer); } //拿到st(发帖转发必须) function getSt($cookie){ $configUrl = 'https://m.weibo.cn/api/config'; $result = _grab($configUrl,'',$cookie); return $result; } //爬虫 function _grab($curl,$postInfo='',$cookie='',$referer=''){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $curl); //不输出头 curl_setopt($ch, CURLOPT_HEADER, 0); //以字符串返回获取的信息,不直接输出 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果是https链接,不验证证书 if(substr_count($curl,'https')){ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); } //POST if($postInfo){ curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$postInfo); } //加入cookie if($cookie){ curl_setopt($ch,CURLOPT_COOKIE,$cookie); } //模拟来路 if($referer){ curl_setopt($ch, CURLOPT_REFERER, $referer); } //模拟浏览器 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'); //执行 $content = curl_exec($ch); //错误处理 if ($content === false) { return "网络请求出错: " . curl_error($ch); exit(); } return $content; } ?>
sina blog转发爬
猜你喜欢
转载自www.cnblogs.com/cl94/p/9568204.html
今日推荐
周排行