KeyFansClub

首页 » - 活动宣传区 - » KEYFC第一屆TRPG活動 » 【版杀自动化】KeyFC版杀自动化工具
boluobread - 2024/2/23 12:13:00
Github网址(国内估计需要梯子)

https://github.com/boluobread/KeyFC-Forum-Mafia-Automaition.git

紧跟时代步伐,版杀也要自动化。
感谢坛友 24K卡布奇诺提供原始代码,目前,此代码可实现半自动结票。(筛选出特定时间段所有带vote指令的帖子)
稍加改动后应该可以实现无限制的【只看该用户】功能。(目前论坛自带的此功能只能显示有限的楼层)


准备:
pip install requests
pip install beautifulsoup4


运行代码:

结果示例:
Key_Player(2024-02-2010:08)> 麻了始终还是要sa比我先走一步vote:sakyas
sakyas(2024-02-2010:25)> 麻了,决定把我宝贵的一票投给kp##vote kp
atamaitai(2024-02-2010:42)> vote:sakyas彼美鱼,待版杀结束之时,吾必生啖汝肉!!!!
amlut(2024-02-2010:47)> 草,原来欧尼酱你真不是啊,我看不懂了,有老六vote:sakyas
列克星敦太太(2024-02-2011:51)> 什么鬼啦www##vote:sakyas                    嘎哦,投票了~
来自宇宙的乱码兄(2024-02-2013:44)> vote:sakayas                投个票先
歐逆醬(2024-02-2014:35)> 三个字 春物 猜一下是不是城廻巡?##vote:sakyas
南風~(2024-02-2020:38)> vote:sakyas紫薯布丁紫薯布丁紫薯布丁
boluobread(2024-02-2113:42)> 汝秋因特殊原因无法发帖,由我代为投票vote:sakyas
amlut(2024-02-2118:46)> 考虑到真有这个可能,还是我来改票试试unvote:sakyasvote:乱码
amlut(2024-02-2118:48)> 我去,原来kp已经是第二个了,那我无能为力了unvote:乱码vote:sakyassa会不会溺死啊@GM

国内上github需要梯子,Vote.py在这里直接贴上

百度网盘也放一个

接:https://pan.baidu.com/s/1vrPCorPQ1D63NXvP_7cvCw
提取:qsqu





  1. import requests
  2. from bs4 import BeautifulSoup

  3. def contain_vote(text):
  4.     s=''
  5.     for char in text:
  6.         if char.isalpha():
  7.             s+=char.lower() #小写
  8.         else:
  9.             s+=char
  10.     return 'vote' in s
  11.    

  12. def get_url(url): #获取一页讨论帖, url:网址
  13.     response = requests.get(url)
  14.     soup = BeautifulSoup(response.text, 'html.parser')

  15.     poster=[x.text for x in soup.select('cite>span')] #发帖人
  16.     post_time=[x.text.strip() for x in soup.select('.postinfo>em:nth-child(2)')] #发帖时间
  17.     content=[x.text.strip() for x in soup.select('.t_msgfont')] #帖子内容文本

  18.     s=''
  19.     for i in range(len(poster)):
  20.         if contain_vote(content[i]):
  21.             s+=f"{poster[i]}({post_time[i]})> {content[i]}\n\n"
  22.     return s

  23. def get_topic(topic,start,end):
  24.     #获取多页讨论帖, topic:讨论帖编号, start:开始页数, end:结束页数   
  25.     output=''
  26.     for i in range(start,end+1):
  27.         url=f'https://keyfc.com/bbs/showtopic-{topic}-{i}.aspx'
  28.         output+=get_url(url)
  29.         print(url+'获取完成')

  30.     #将文本写入txt文件
  31.     file=open(f'vote-{topic}({start}-{end}).txt','w',encoding='utf-8')
  32.     file.write(output)
  33.     file.close()

  34. if __name__=='__main__':
  35.     '''
  36.     示例:获取有投票的讨论帖
  37.     从[url]https://keyfc.com/bbs/showtopic-69988-28.aspx[/url]
  38.     到[url]https://keyfc.com/bbs/showtopic-69988-42.aspx[/url]
  39.     '''
  40.     get_topic(69988,53,60)
复制代码
NONAK - 2024/2/25 7:32:00
太强了 这个自动指令成功让论坛又停服了两天 (:>)| ̄|_哈哈哈
tedu666 - 2024/2/25 17:10:00
太强了,支持关注一波,难得在kfc看到代码(划)(
NONAK - 2024/2/26 5:40:00





虽然不知道是不是巧合 ,但我见证了这次停服的分界线 ,我在那天前一秒看到了你的这个帖子 ,兴趣满满地点进来看看 ,然后一关掉帖子准备点出去不小心又点进来 …… → 【 你的服务器 …… C盘文件 …… 】巴拉巴拉的就看到了论坛又躺了 (:з っ )っ 哈哈哈 于是当时莫名感到太有趣了 ~
1
查看完整版本: 【版杀自动化】KeyFC版杀自动化工具