成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

被「李笑來(lái)老師」拉黑之「JavaScript微博自動(dòng)轉(zhuǎn)發(fā)的腳本」

BaronZhang / 1577人閱讀

摘要:本以為花一兩個(gè)小時(shí)就能搞定這個(gè)微博自動(dòng)轉(zhuǎn)發(fā)的腳本,結(jié)果中途不停的踩坑折騰了大半天。還好早早的被李笑來(lái)老師拉黑。填坑過(guò)程打開瀏覽器中,先登錄自己的微博,再進(jìn)入李笑來(lái)老師的微博首頁(yè)。然后手動(dòng)轉(zhuǎn)發(fā)一次微博,獲取到轉(zhuǎn)發(fā)時(shí)所產(chǎn)生的請(qǐng)求。

故事的背景如下圖,李笑來(lái) 老師于10月19日在 知乎Live 開設(shè) 一小時(shí)建立終生受用的閱讀操作系統(tǒng) 的講座,他老人家看到大家伙報(bào)名踴躍,便在微博上發(fā)起了一個(gè) 猜數(shù)量贏取iPhone7 的活動(dòng)。

因?yàn)樵摶顒?dòng)注明了「不限猜的次數(shù)」,我便用 JavaScript 寫一個(gè)自動(dòng)轉(zhuǎn)發(fā)的腳本,用機(jī)器代替手工轉(zhuǎn)發(fā),結(jié)果轉(zhuǎn)發(fā)不到200次就被 李笑來(lái) 老師拉黑了,實(shí)在掃興。與其獨(dú)自郁悶,不如把技術(shù)細(xì)節(jié)分享給大家,祝大家能早日贏得 iPhone7。我的微博地址是:http://weibo.com/stone0090,歡迎大家來(lái)圍觀。

本以為花一兩個(gè)小時(shí)就能搞定這個(gè)微博自動(dòng)轉(zhuǎn)發(fā)的腳本,結(jié)果中途不停的踩坑折騰了大半天。還好早早的被 李笑來(lái) 老師拉黑。不然用 .NET 重寫工具,再接入 打碼兔,還得再花我好幾個(gè)小時(shí)。好不容易國(guó)慶長(zhǎng)假休息一下,還不是想給媳婦換個(gè) iPhone7,我就能用她的 iPhone6s,要不然真心不想花太多時(shí)間搗鼓這個(gè)。廢話不多說(shuō)了,進(jìn)入正題:

前期準(zhǔn)備

JavaScript:如果不會(huì) JavaScript,建議先學(xué)完 JavaScript 闖關(guān)記,再繼續(xù)看本文。

Chrome:開發(fā)調(diào)試 JavaScript 必備神器。

微博會(huì)員:據(jù)網(wǎng)上流言,普通用戶如果轉(zhuǎn)發(fā)過(guò)多會(huì)被封號(hào),而會(huì)員則不會(huì)。

填坑過(guò)程

打開 Chrome 瀏覽器中,先登錄自己的微博,再進(jìn)入李笑來(lái)老師的微博首頁(yè) http://weibo.com/bylixiaolai 。

打開 Chrome 開發(fā)者工具(Mac 快捷鍵 option + comand + j,Window 快捷鍵 ctrl + shift + i),切換 tab 到 NetWork,并點(diǎn)擊 clear,清除初始化時(shí)所加載的數(shù)據(jù)。

然后手動(dòng)轉(zhuǎn)發(fā)一次微博,獲取到轉(zhuǎn)發(fā)時(shí)所產(chǎn)生的請(qǐng)求。

利用上圖紅框中的關(guān)鍵數(shù)據(jù),使用 JavaScript 模擬發(fā)送轉(zhuǎn)發(fā)請(qǐng)求,具體代碼如下。

// 轉(zhuǎn)發(fā)微博,并評(píng)論
function forwardWeibo(content, retcode) {
  var formData = new FormData();
  formData.append("pic_src", "");
  formData.append("pic_id", "");
  formData.append("appkey", "");
  formData.append("mid", "4024988475919525");
  formData.append("style_type", "1");
  formData.append("mark", "");
  formData.append("reason", content);
  formData.append("location", "page_100505_home");
  formData.append("pdetail", "1005051576218000");
  formData.append("module", "");
  formData.append("page_module_id", "");
  formData.append("refer_sort", "");
  formData.append("is_comment_base", "1");
  formData.append("rank", "0");
  formData.append("rankid", "");
  formData.append("_t", "0");
  formData.append("retcode", retcode || "");

  var xhr = new XMLHttpRequest();
  xhr.timeout = 3000;
  xhr.responseType = "text";
  xhr.open("POST", "http://weibo.com/aj/v6/mblog/forward?ajwvr=6&domain=100505&__rnd=" + new Date().getTime(), true);
  xhr.onload = function(e) {
    if (this.status == 200 || this.status == 304) {
      var data = JSON.parse(this.responseText);
      if (data.code == "100000") {
        // 轉(zhuǎn)發(fā)微博成功
        console.log(content);
      } else if (data.code == "100027") {
        // 轉(zhuǎn)發(fā)微博失敗,需要回答圖片驗(yàn)證碼的問(wèn)題
        console.log(data);
      } else {
        // 轉(zhuǎn)發(fā)微博失敗,其他原因
        console.log(data);
      }
    }
  };
  xhr.send(formData);
}
//forwardWeibo("轉(zhuǎn)發(fā)內(nèi)容");
//forwardWeibo("轉(zhuǎn)發(fā)內(nèi)容",verified("答案"));

// 每5秒轉(zhuǎn)發(fā)一次
var count = 35000;
setInterval(function(){
  forwardWeibo(count++);
}, 5000); 

打開 Chrome 開發(fā)者工具,切換 tab 到 Console,拷貝上面代碼到 Console 中,按回車鍵即可以「5秒1次」的頻率對(duì)李笑來(lái)老師的這條微博進(jìn)行轉(zhuǎn)發(fā)評(píng)論,如需停止請(qǐng)關(guān)閉該頁(yè)面再重新打開。

然而僅過(guò)了2分鐘,成功轉(zhuǎn)發(fā)50多次之后,后面的轉(zhuǎn)發(fā)全部失敗。經(jīng)檢查發(fā)現(xiàn),由于我轉(zhuǎn)發(fā)頻率過(guò)快,被微博官方暫時(shí)封號(hào)?;卮鹨恍┖?jiǎn)單的問(wèn)題把賬號(hào)解封,我把轉(zhuǎn)發(fā)頻率由「5秒1次」改為「10秒1次」,因?yàn)槌抑膺€有其他幾個(gè)號(hào)也在用腳本刷,他們大概用「10秒1次」的頻率,穩(wěn)定的轉(zhuǎn)發(fā)沒(méi)有間斷過(guò),所以「10秒1次」應(yīng)該是相對(duì)安全的。

我調(diào)整頻率之后重新開始轉(zhuǎn)發(fā),但還是轉(zhuǎn)發(fā)失敗,手動(dòng)操作后發(fā)現(xiàn)轉(zhuǎn)發(fā)需要輸入驗(yàn)證碼,以前并沒(méi)有這個(gè)環(huán)節(jié),看來(lái)剛才的封號(hào)是有一些后遺癥的。驗(yàn)證碼我才不怕,專業(yè)的打碼服務(wù) 打碼兔 連12306的驗(yàn)證碼都能輕松應(yīng)付,識(shí)別這里的驗(yàn)證碼就是小兒科。但接入 打碼兔 的工作量有點(diǎn)大,我還是先找找看,有沒(méi)有更簡(jiǎn)單的方法。

果然還真被我找到了,雖然轉(zhuǎn)發(fā)的時(shí)候需要輸入驗(yàn)證碼,但評(píng)論的時(shí)候并不用,手動(dòng)操作一把,評(píng)論并轉(zhuǎn)發(fā)也能成功,便馬上新增了一個(gè)評(píng)論的方法,具體代碼如下。

// 評(píng)論微博,并轉(zhuǎn)發(fā)
function commentWeibo(content) {
  var formData = new FormData();
  formData.append("act", "post");
  formData.append("mid", "4024988475919525");
  formData.append("uid", "1760390531");
  formData.append("forward", "1");
  formData.append("isroot", "0");
  formData.append("content", content);
  formData.append("location", "page_100505_home");
  formData.append("module", "scommlist");
  formData.append("group_source", "");
  formData.append("tranandcomm", "1");
  formData.append("pdetail", "1005051576218000");
  formData.append("_t", "0");

  var xhr = new XMLHttpRequest();
  xhr.timeout = 3000;
  xhr.responseType = "text";
  xhr.open("POST", "http://weibo.com/aj/v6/comment/add?ajwvr=6&__rnd=" + new Date().getTime(), true);
  xhr.onload = function(e) {
    if (this.status == 200 || this.status == 304) {
      if (this.responseText.code == "100000") {
        console.log(content);
      } else {
        console.log(this.responseText)
      }
    }
  };
  xhr.send(formData);
}
//commentWeibo("評(píng)論內(nèi)容");

// 每10秒評(píng)論一次
var count = 35000;
setInterval(function(){
  forwardWeibo(count++);
}, 10000); 

沒(méi)高興幾分鐘,又發(fā)現(xiàn)新的問(wèn)題,評(píng)論成功10條,只有1條轉(zhuǎn)發(fā)成功了,這完全是坑爹啊??磥?lái)只有接入 打碼兔 才能徹底解決問(wèn)題了,估計(jì)要花2、3個(gè)小時(shí)才能搞定,算了,先吃飯、洗澡再弄。

磨蹭了1、2個(gè)小時(shí)之后回來(lái),發(fā)現(xiàn)微博轉(zhuǎn)發(fā)輸入驗(yàn)證碼的限制已經(jīng)被取消,但我仍心有余悸,把腳本的頻率改為「30秒1次」讓它慢慢的跑。然后,埋頭研究 打碼兔 的 API,注冊(cè)相關(guān)開發(fā)者賬號(hào),充值測(cè)試費(fèi)用。就在我剛準(zhǔn)備寫代碼之際,腳本又失敗了,而且,這次的報(bào)錯(cuò)跟以前都不一樣,原來(lái)是我已經(jīng)被 李笑來(lái)老師拉黑了,再也不能轉(zhuǎn)發(fā)評(píng)論他老人家任何微博了。

本以為會(huì)刷幾萬(wàn)條微博出來(lái),沒(méi)想到只刷了200條不到,這些微博就留作紀(jì)念不刪了。下面是提前準(zhǔn)備好的批量刪微博的腳本。

//刪除微博
function deleteWeibo() {
  var items = document.querySelectorAll(".WB_feed_type");
  for(var i in items){
    if(items[i].getAttribute){
      var formData = new FormData();
      formData.append("mid", items[i].getAttribute("mid"));
      var xhr = new XMLHttpRequest();
      xhr.open("POST", "http://weibo.com/aj/mblog/del?ajwvr=6", false);
      xhr.send(formData);
      console.log(xhr.responseText);
    }
  }
}
deleteWeibo();

信念瞬間崩塌,思想得到解放,果斷去抱著媳婦追 權(quán)利的游戲,啪啪啪,真是一個(gè)美好夜晚。

最后,祝大家國(guó)慶節(jié)快樂(lè)。如果還想聽我聊技術(shù)(che dan),請(qǐng)關(guān)注微信公眾號(hào)「劼哥舍」,老斯基帶你飆車。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/80589.html

相關(guān)文章

  • 區(qū)塊鏈迎來(lái)退群潮?

    摘要:在這段長(zhǎng)達(dá)多分鐘的談話中,李笑來(lái)帶著粗鄙的口吻依次數(shù)落幣圈中的知名人物和區(qū)塊鏈項(xiàng)目,使很多人開始質(zhì)疑李笑來(lái)割韭菜。隨后,楊寧向外界確認(rèn)團(tuán)隊(duì)解散,并高調(diào)宣布推出幣圈。楊寧這個(gè)名字,在區(qū)塊鏈行業(yè),本應(yīng)比李笑來(lái)薛蠻子更有說(shuō)服力。 2018是區(qū)塊鏈誕生的第十個(gè)年頭,這一年的區(qū)塊鏈?zhǔn)澜?,一面是熱火朝天,大量的區(qū)塊鏈項(xiàng)目投入市場(chǎng),另一方面,卻是寒風(fēng)瑟瑟,以比特幣為首的虛擬貨幣價(jià)格一跌再跌。 而大佬...

    ZoomQuiet 評(píng)論0 收藏0
  • 區(qū)塊鏈2018年度盤點(diǎn)

    摘要:加密數(shù)字貨幣價(jià)格巔峰,區(qū)塊鏈成二線企業(yè)股價(jià)春藥年月日,是區(qū)塊鏈行業(yè)的高光時(shí)刻,整個(gè)加密數(shù)字貨幣市值億美元,人民幣近萬(wàn)億元。直接原因是,當(dāng)日,中網(wǎng)載線剛剛宣布與井通網(wǎng)絡(luò)科技有限公司合作開展區(qū)塊鏈產(chǎn)業(yè)。 加密數(shù)字貨幣價(jià)格巔峰,區(qū)塊鏈成二線企業(yè)股價(jià)春藥 2018 年 1 月 8 日,是區(qū)塊鏈行業(yè)的高光時(shí)刻,整個(gè)加密數(shù)字貨幣市值 8139 億美元,人民幣近 6 萬(wàn)億元。在 10 天之前,12 ...

    changfeng1050 評(píng)論0 收藏0
  • 那是我三十歲奔跑

    摘要:由于很難在任何課程上專心致志的聽講,因此大學(xué)以來(lái)所有的課程都是靠自學(xué)來(lái)完成的。這樣才能在編程過(guò)程中更加有效率,不是總被低級(jí)的語(yǔ)法錯(cuò)誤所困擾。此為序,寫在自己三十歲的開始。 很久未曾動(dòng)筆寫東西,這次希望可以從記錄技術(shù)學(xué)習(xí)開始,記錄自己的成長(zhǎng)和變化。 由于很難在任何課程上專心致志的聽講,因此大學(xué)以來(lái)所有的課程都是靠自學(xué)來(lái)完成的。盡管學(xué)的并不算有多好,但對(duì)于成長(zhǎng)的渴求和未知的好奇一直伴隨著我...

    Rainie 評(píng)論0 收藏0
  • javascript深入學(xué)習(xí)筆記-[數(shù)組]

    摘要:記筆記很有必要相信我,大多數(shù)人的記憶力是不可靠的。解決方式遍歷的順序不確定因?yàn)閷?duì)象不是有序的。出租過(guò)程中趕走了某些房客。具體來(lái)說(shuō)就是說(shuō)存在某個(gè)空間沒(méi)有元素的數(shù)組便是稀疏數(shù)組怎么處理將會(huì)確認(rèn)這個(gè)位置有沒(méi)有元素存在。同檢查元素是否存在 記筆記很有必要——相信我,大多數(shù)人的記憶力是不可靠的。 ——《與時(shí)間做朋友》李笑來(lái) 數(shù)組 值的有序集合 弱類型 數(shù)組中的元素可以是各種類型的 ...

    cod7ce 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<