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运行代码: - 下载vote.py,用 Python 自带的 IDLE 编辑器打开,根据需要改最后一行。
- 保存运行,在同一个文件夹下就会有输出的文件了,像这样:
- vote-69988(53-60).txt
结果示例:Key_Player(2024-02-2010:08)> 麻了始终还是要sa比我先走一步vote:sakyassakyas(2024-02-2010:25)> 麻了,决定把我宝贵的一票投给kp##vote kpatamaitai(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:sakyasamlut(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
- import requests
- from bs4 import BeautifulSoup
- def contain_vote(text):
- s=''
- for char in text:
- if char.isalpha():
- s+=char.lower() #小写
- else:
- s+=char
- return 'vote' in s
-
- def get_url(url): #获取一页讨论帖, url:网址
- response = requests.get(url)
- soup = BeautifulSoup(response.text, 'html.parser')
- poster=[x.text for x in soup.select('cite>span')] #发帖人
- post_time=[x.text.strip() for x in soup.select('.postinfo>em:nth-child(2)')] #发帖时间
- content=[x.text.strip() for x in soup.select('.t_msgfont')] #帖子内容文本
- s=''
- for i in range(len(poster)):
- if contain_vote(content[i]):
- s+=f"{poster[i]}({post_time[i]})> {content[i]}\n\n"
- return s
- def get_topic(topic,start,end):
- #获取多页讨论帖, topic:讨论帖编号, start:开始页数, end:结束页数
- output=''
- for i in range(start,end+1):
- url=f'https://keyfc.com/bbs/showtopic-{topic}-{i}.aspx'
- output+=get_url(url)
- print(url+'获取完成')
- #将文本写入txt文件
- file=open(f'vote-{topic}({start}-{end}).txt','w',encoding='utf-8')
- file.write(output)
- file.close()
- if __name__=='__main__':
- '''
- 示例:获取有投票的讨论帖
- 从[url]https://keyfc.com/bbs/showtopic-69988-28.aspx[/url]
- 到[url]https://keyfc.com/bbs/showtopic-69988-42.aspx[/url]
- '''
- 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盘文件 …… 】巴拉巴拉的就看到了论坛又躺了 (:з っ )っ 哈哈哈 于是当时莫名感到太有趣了 ~