今天调整论坛的时候发现,有很多古老的帖子并没有进行锁帖,给论坛管理造成很大不便,然而手动锁帖又太过麻烦,刚好前两天的脚本改改就能用
那还等什么呢,go go go~~
主体
仔细分析可以发现,代码共分为两部分
- 找到该页面的所有帖子
- 执行post方法提交锁帖操作
找到所有帖子
这里参考了前两天的脚本
/**
* @description
* @param {string} forumUrl 全局变量,手动设定
* @returns {array} arrTopicId 返回一个存放所有未锁定帖子的id的数组
*/
function getIdList(forumUrl) {
return superagent
.get(forumUrl) // 这里需要基于发布获取链接分析url
.set({
'Cookie': cookie
})
.then(res => {
let regPage = /(unlocked).+\s.*?(\d{4})/gm
let arr = res.text.match(regPage) // 找到所有未锁定的帖子链接
let reid = /(\d{4})/
arrTopicId = arr.map(val => val.match(reid)[0]) // 存放所有id
})
.catch(err => {
console.log(err)
})
}
提交锁帖
这一步进行正常的post提交即可
方法执行时需要遍历上一步数组中的所有元素,这里使用了map
arrTopicId.map(val => {
newPost(val)
.then()
...
})
结语
多写写代码,总是有好处的!!!
版权属于:ajycc20
本文链接:https://ajycc20.top/archives/15.html
所有原创文章采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。