Node.js代碼不到50行,實現稀土掘金社區(qū)自動簽到
歡迎關注~
我們這里采用的技術棧是Node.js。代碼不到50行,先貼上代碼。
const?Koa?=?require('koa');
const?schedule?=?require('node-schedule');
const?_request?=?require('request');
const?app?=?new?Koa();
//?自定義
const?sessionid?=?'';?//?SessionID
const?url?=?'';?//?Url
const?options?=?{
????url:?url,
????method:'post',
????headers:?{
????????'cookie':?'sessionid='+?sessionid,
????},
}
//?適配Koa
function?request(url,?options)?{
????return?new?Promise(function?(resolve,?reject)?{
????????_request(url,?options,?function?(error,?response,?body)?{
????????????error?&&?reject(error);
????????????resolve(response,?body);
????????})
????})
}
//?輸出信息
async?function?start?(ctx,?next)?{
????const?res?=?await?request(options);
????console.log(res.body)
}
const?rule?=?'30?10?0?*?*?*';?//?每天的凌晨0點10分30秒觸發(fā)'
//?定時任務
const?scheduleCronstyle?=?()=>{
????schedule.scheduleJob(rule,()=>{
????????start();
????});
}
app.listen(3000,()=>{
????console.log('服務啟動成功!');
????scheduleCronstyle();?//?定時啟動
????//?start();?//?立即啟動
})
這些代碼就可以實現一個掘金自動簽到功能,再也不用自己手動點擊簽到了!
自定義
下面,我教大家怎么來進行操作,首先看下源碼中的這段代碼。
//?自定義
const?sessionid?=?'';?//?SessionID
const?url?=?'';?//?Url
你需要改動這兩行代碼,嚴格來說,你僅僅需要改動一行。為什么呢?下面聽我道來。
首先,我們來看下url這個變量是從哪里獲取。
在網頁登錄你的掘金賬號; 打開簽到頁面(如果沒簽到,就點擊簽到); 打開控制臺,切換到網絡選項卡,找到 /check_in_rules這個接口,然后把后面的字符串(以aid=開頭)復制保存。然后把剛才保存的字符串拼接到 https://api.juejin.cn/growth_api/v1/check_in?后面。
例:https://api.juejin.cn/growth_api/v1/check_in?aid=?&uuid=?&_signature=?
以后,你就不用每次都進行上面這些操作了,只需一次。
然后,我們接著看下sessionid這個變量是從何而來的。
同樣,我們打開控制臺; 切換到應用選項卡下,找到Cookie選項,點擊 https://juejin.cn;找到 sessionid名稱,復制對應值即可。
因為Cookie有時間期限,但是一般都幾個月左右,夠用的了。過期了,重新替換下即可。
結語
有云服務器的小伙伴,你可以使用pm2持久運行Node應用。
評論
圖片
表情
