国防教育网站建设方案,百度左侧排名,网站开发模版,云服务器做视频网站知乎文章若有排版问题请见谅#xff0c;原文放在个人博客中【欢迎互踩#xff01;】文叔叔文档收集使用动机在我们的学习工作中#xff0c;少不了要让大家集体提交文件的情况#xff0c;举个最简单的例子#xff1a;收作业。 传统的文件收集流程大致是#xff1a;群内发出…知乎文章若有排版问题请见谅原文放在个人博客中【欢迎互踩】文叔叔文档收集使用动机在我们的学习工作中少不了要让大家集体提交文件的情况举个最简单的例子收作业。 传统的文件收集流程大致是群内发出文件提交通知 每位参与者向负责人单独发送文档 负责人逐一接收汇总 统计文档提交情况。可能有人会说直接上传到群文件不就好了但这样的做法会使文档有信息泄漏的风险。 但一款名为文叔叔的应用提供了快速收集文件的功能大大简化了文件汇总流程。收集方作为收集方只需发出邀请、设置截止时间并拷贝邀请链接即可完成一次收集任务的准备工作。收集任务创建好后会在收集人账号的收发记录中自己创建关于本次文件收取的任务栏所有提交的文件都被汇总在该任务中并可批量下载。提交方这款软件的另一大优点就体现在提交方操作的简洁性。接收到链接的用户无论登陆还是未登录都可以直接打开传文件的入口。只需上传文件然后留下姓名方便确认身份点击发送即可完成任务提交。其余详细说明可以参考文叔叔知乎链接。python统计提交信息尽管文叔叔提供了十分快捷的文件收集功能但后续我们还需要手动统计提交情况但是利用python我们便可以实现实时查询文件提交情况。 这里的实现方式同样使用了selenium库具体实现原理就不再赘述直接提供代码并说明如何直接使用。导入成员导入成员有两种方式一种是从excel一次性导入另一种是手动输入。如果没有编程基础建议采用后者具体实现方法参照下文name_list实现方法。# 方法一excel导入成员信息
import pandas as pd
import numpy as np
name_list {}
data pd.read_excel(class_data.xlsx)
data data.iloc[2:,0]
data data.to_numpy()
for i in range(len(data)):name_list[str(data[i])] 0;# 方法二手动添加成员修改名字即可一劳永逸
name_list {杨宇豪:0, 代溟伟:0, 肖卓琦:0, 胡鹏:0, 熊梓旭:0, 李洪波:0, 洛桑次仁:0, 陈戌:0, 薛宸熙:0, 刘金炜:0 }汇总提交情况需要修改项 1. user_info添加账号登录信息可添加多个 2. user选择登录账户 3. share_link提供待统计任务的分享链接from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time# 选择登录账户
user 代溟伟
# 待统计任务对应分享链接
share_link https://wss.pet/s/2575sct1kdj# 各用户登录信息账号密码
user_info {杨宇豪:[登录用户名, 登录密码],代溟伟:[登录用户名, 登录密码]}
login_number user_info[user][0]
login_password user_info[user][1]# 不嫌麻烦可以像这样手动添加成员一劳永逸
name_list {杨宇豪:0, 代溟伟:0, 肖卓琦:0, 胡鹏:0, 熊梓旭:0, 李洪波:0, 洛桑次仁:0, 陈戌:0, 薛宸熙:0, 刘金炜:0 }chrome_options Options()
chrome_options.add_argument(--headless)driver webdriver.Chrome(optionschrome_options)
# driver webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(5)print(Entering the website...)
url https://www.wenshushu.cn/signin
driver.get(url)
time.sleep(2)print(Inputing login info...)
driver.find_element_by_xpath(//div[idpage_content]/div/div/div/div/ul/li[2]).click()
driver.find_element_by_xpath(//input[typetext]).click()
driver.find_element_by_xpath(//input[typetext]).clear()
driver.find_element_by_xpath(//input[typetext]).send_keys(login_number)
driver.find_element_by_xpath(//input[typepassword]).click()
driver.find_element_by_xpath(//input[typepassword]).clear()
driver.find_element_by_xpath(//input[typepassword]).send_keys(login_password)
driver.find_element_by_xpath(//div[idpage_content]/div/div/div/div[2]/div/div/button/span).click()
time.sleep(2)print(Locating to the task...)
url https://www.wenshushu.cn/f/ str(share_link[18:])
driver.get(url)print(Checking submit info...)
time.sleep(3)
page_info driver.find_elements_by_css_selector([classg-upload_user])
for i in range(len(page_info)):name_list[page_info[i].get_attribute(innerText)] 1#print(page_info[i].get_attribute(innerText))print(Writing detailed list...)
print(unsubmit list:n)
for name in name_list.keys():if(name_list[name] 0):print(name)
print(nsubmit list:n)
for name in name_list.keys():if(name_list[name] 1):print(name)
driver.close()print(Check Finished!)