知乎文章若有排版问题请见谅,原文放在个人博客中【欢迎互踩!】

文叔叔文档收集

使用动机

在我们的学习工作中,少不了要让大家集体提交文件的情况,举个最简单的例子:收作业。

传统的文件收集流程大致是:群内发出文件提交通知

每位参与者向负责人单独发送文档
负责人逐一接收汇总
统计文档提交情况。

可能有人会说直接上传到群文件不就好了?但这样的做法会使文档有信息泄漏的风险。 但一款名为文叔叔的应用提供了快速收集文件的功能,大大简化了文件汇总流程。

收集方

作为收集方只需发出邀请、设置截止时间并拷贝邀请链接即可完成一次收集任务的准备工作。

收集任务创建好后会在收集人账号的收发记录中自己创建关于本次文件收取的任务栏,所有提交的文件都被汇总在该任务中并可批量下载。

提交方

这款软件的另一大优点就体现在提交方操作的简洁性。接收到链接的用户,无论登陆还是未登录,都可以直接打开传文件的入口。只需上传文件,然后留下姓名方便确认身份,点击发送即可完成任务提交。

其余详细说明可以参考文叔叔知乎链接。

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(options=chrome_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[@id='page_content']/div/div/div/div/ul/li[2]").click()
driver.find_element_by_xpath("//input[@type='text']").click()
driver.find_element_by_xpath("//input[@type='text']").clear()
driver.find_element_by_xpath("//input[@type='text']").send_keys(login_number)
driver.find_element_by_xpath("//input[@type='password']").click()
driver.find_element_by_xpath("//input[@type='password']").clear()
driver.find_element_by_xpath("//input[@type='password']").send_keys(login_password)
driver.find_element_by_xpath("//div[@id='page_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("[class='g-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!")

chrome自动提交文件_收集文档及提交名单统计相关推荐

  1. filevault(电子仓库)自动切换文件夹以及文档最大值设置

    服务器: D:\ptc\Windchill_10.1\Windchill\codebase下的wt.properties文档设置 wt.fv.useFvFileThreshold=true 如果启用限 ...

  2. 手机pdf文件转语音_用smallpdf如何将pdf文件转word文档

    原标题:用smallpdf如何将pdf文件转word文档 PDF文件因为体积小,容易打印,方便阅读等特点,在我们学习或者工作中应用的越来越广泛. 但是,pdf文件格式也有一个致命的缺点因为它的安全性高 ...

  3. html文件转换为PDF文档

    工作中遇到一个问题,将一篇微信公众号文章(可以使用浏览器打开,文章链接:https://mp.weixin.qq.com/s/M9Oz3UDaEXJoLMzSB4mJPQ)转换为PDF格式.这篇文章有 ...

  4. php验证码手册,验证码_专题_帮助文档_Thinkphp手册

    验证码_专题_帮助文档_Think Think/Verify类可以支持验证码的生成和验证功能. 生成验证码 下面是最简单的方式生成验证码: seover" style=" marg ...

  5. 如何用计算机扫描图片变成文字,如何把文字图片或者扫描的文件变成word文档?详细步骤...

    我们在日常工作,有时候会遇到需要把文字图片或者扫描的文件变成word文档,最笨的方法就是一个一个字的打到word文档,有一些图片的文字是可以在搜索引擎上找到的,但是首先这个需要运气好.不过,现在小编就 ...

  6. 自定义maven插件:自动生成API的word文档

    继上次开发完Maven插件开发:根据库表生成实体类&根据实体类生成库表之后,博主对开发maven插件喜爱得一塌糊涂.这不,今天给大家带来了<自定义maven插件:自动生成API的word ...

  7. chrome查看网页文件_如何在Chrome中直接将文件和网页下载到Google云端硬盘

    chrome查看网页文件 We've all downloaded files from the web to our computer. However, if you'd rather downl ...

  8. 一个项目需要提交哪了些文档?

    一个项目需要提交哪了些文档? 博客分类: engineering 软件测试电子政务  刚完成了一个电子政务项目.编码倒没什么,但文档这一块着实把我累坏了.监理没完没了的找我要文档.提交一批了又说还差什 ...

  9. php方法帮助文档,Trace方法_帮助文档_Thinkphp手册

    Trace方法_帮助文档_Think 页面Trace只能用于有页面输出的情况,但是trace方法可以用在任何情况,而且trace方法可以用于AJAX等操作. Trace方法的格式:trace('变量' ...

最新文章

  1. IDC报告称经济衰退将促进云计算发展
  2. 网页渲染的颜色竟然和设定值的不同!Chrome 61+色差解决办法
  3. PostgreSQL的 create index concurrently
  4. centos赋予访问权限
  5. java基础学习的心得体会
  6. AD7124源码 兼容AD7124-4/8 代码都经过验证 有验证的项目PCB图
  7. 联想微型计算机v1.0,联想Energy Management
  8. React-native开发-Unrecognized font family ‘Ionicons’
  9. MATLAB的PID调节器
  10. Python教程:在Python中遍历列表详解
  11. 第1章 Python基础
  12. win10安装的虚拟机无法连接网络
  13. c语言口语评分系统,FCE口语评分标准:考官更喜欢这样的考生
  14. SUSCTF Ez_Pager_Tiper
  15. HTML5 JavaScript CSS 表单实现购物优惠打折
  16. 关于edu邮箱收不到国外投稿邮件的解决办法
  17. 手游代理加盟最准解释来了
  18. 微信小程序—相关配置
  19. java读取word的插件,java word 插件
  20. 共享WiFi全国招商0加盟0手续次日可提现人人可做

热门文章

  1. Linux 便笺技巧专栏
  2. 工作流实战_27_flowable 自定义sql查询
  3. CenterOS 服务器之MySQL卸载与安装,并远程连接
  4. Host key verification failed. fatal: Could not read from remote repository.Please make sure you have
  5. java ip输入框_JavaScript实现IP地址的输入框方式
  6. Python oct 函数 - Python零基础入门教程
  7. jq之$(“tr:odd“).css(“background-color“,“red“);
  8. 属性子集选择的基本启发方法_一文看懂数据预处理最重要的3种思想和方法
  9. odoo12 日历模块_odoo12
  10. 迷你世界显示未连接服务器成功,迷你世界登录未成功是什么意思 | 手游网游页游攻略大全...