type
slug
status
date
summary
tags
category
icon
password
Autofill:Excel到网页的填充脚本
在当今快节奏的工程项目管理中,效率和准确性至关重要。本文将为您介绍一个创新的Python脚本,它巧妙地解决了工程检查申请(Request for Inspection, RFI)流程中的一个常见痛点:繁琐的手动数据输入。这个脚本不仅能大幅提高RFI提交的效率,还能显著降低人为错误的风险。让我们深入了解这个强大工具的细节。
背景:RFI流程的挑战
在大型工程项目中,RFI是确保质量控制和项目进度的关键环节。然而,传统的RFI提交方式往往涉及大量的手动数据输入,这不仅耗时,还容易出错。特别是在需要批量提交RFI的情况下,这个问题更加凸显。
解决方案:自动化脚本
为了应对这一挑战,作者本人开发了一个专门的Python脚本。这个脚本能够:
- 从预先准备的Excel文件中提取RFI数据
- 解析网页结构,获取必要的表单元素ID
- 自动向指定的web服务器发送POST请求,完成RFI的在线提交
这种自动化方法不仅大大提高了效率,还确保了数据输入的一致性和准确性。
技术细节
核心功能
- 数据提取:使用pandas库从Excel文件中读取RFI信息。
- HTML解析:通过lxml库解析本地HTML文件,获取关键的表单元素ID。
- 自动提交:利用requests库模拟浏览器行为,向服务器发送POST请求。
使用前提
要充分利用这个脚本,您需要:
- 一个结构化的Excel文件,包含所有RFI数据
- 目标网页的HTML结构文件(id.html)
- 有效的网站cookies
- Python环境,以及lxml、requests、pandas库
配置和运行
使用这个脚本只需几个简单步骤:
- 调整Excel文件路径
- 设置HTML文件路径
- 更新cookies值
- 运行脚本
脚本会自动遍历Excel中的每行数据,为每条记录生成并提交一个RFI。
优势分析
- 效率倍增:自动化流程显著减少了数据输入时间。
- 错误最小化:消除了人工输入可能带来的失误。
- 批量处理能力:能够一次性处理大量RFI,特别适合大型项目。
- 灵活性:易于根据项目需求修改Excel数据。
实施注意事项
尽管这个脚本带来了诸多便利,使用时仍需注意以下几点:
- 严格遵循Excel数据格式要求,确保与网页表单字段匹配。
- 定期更新cookies,保证脚本的持续有效性。
- 遵守目标网站的使用条款和政策。
- 定期检查和更新HTML结构文件,以适应可能的网页变更。
如何使用本人脚本:首先去github上下载我的代码文件:https://github.com/entropy2023/Autofill-in-DWSS
#第一个文件3_test.xlsx文件是你提前准备要填写的内容
把需要填写的信息填入这个excel表格里。第一步完成
#第三个文件id.html文件是你要把网站中对应得id提取出来,做成一个HTML文件。目的是:通过lxml库解析本地HTML文件,获取关键的表单元素ID。
- 打开浏览器(推荐使用 Chrome )。
- 导航到包含 RFI表单的网页。
- 右击页面空白处,选择"查看页面源代码"或按 Ctrl+U(Windows/Linux)或 Cmd+U(Mac)。
- 在新打开的标签页中,你会看到网页的 HTML 源代码。
- 按 Ctrl+S(Windows/Linux)或 Cmd+S(Mac)保存该页面。
- 在保存对话框中:
- 选择保存位置(建议与你的 Python 脚本在同一文件夹)
- 将文件名改为 "id.html"
- 确保保存类型为 "网页,仅 HTML"(或类似选项)
- 点击"保存"。
其实我已经做一个完成得id.html文件,直接使用即可。上述是制作得原理和目的。
#第二个文件是demo2.py文件,
该文件利用了以下技术以及原理如下:
- Python 编程:整个脚本使用 Python 语言编写。
- 数据处理:
- 使用 pandas 库读取和处理 Excel 文件数据。
- 使用 lxml 库解析 HTML 文件,提取必要的元素 ID。
- Web 自动化:
- 使用 requests 库模拟 HTTP POST 请求,自动提交表单数据。
- 日期和时间处理:使用 Python 的 datetime 模块(通过 pandas)处理日期和时间格式。
- 字符串操作:处理和格式化各种数据字段。
- 条件逻辑:使用 if-else 语句来处理不同的工作类别和子类别。
- 循环处理:使用 for 循环遍历 Excel 数据的每一行。
- 错误处理:虽然在给定的代码中没有明确的错误处理,但在实际使用中应该考虑添加异常处理机制。
- Web 协议:利用 HTTP 协议与服务器通信,包括设置请求头、cookies 等。
如何使用:
配置代码运行环境,首先
- 安装Python:
如果尚未安装Python,请从官方网站 (https://www.python.org/downloads/) 下载并安装。
- 安装VSCode:
从官方网站 (https://code.visualstudio.com/) 下载并安装VSCode。安装一个编译器,VScode或者PyCharm 编辑器等任一一款编译器
- 安装Python扩展:
- 打开VSCode
- 点击左侧边栏的扩展图标(方块图标)
- 搜索"Python"
- 安装由Microsoft提供的Python扩展
- 打开VSCode的终端(Terminal > New Terminal)
- 运行以下命令创建虚拟环境:
- 激活虚拟环境:
- Windows:
myenv\Scripts\activate
- macOS/Linux:
source myenv/bin/activate
- 安装所需的库:
- 打开Python文件:
- 在VSCode中,打开包含您的Python脚本的文件夹
- 打开
demo2.py
文件 - 配置Python解释器:
- 按
Ctrl+Shift+P
(Windows/Linux)或Cmd+Shift+P
(macOS)打开命令面板 - 输入 "Python: Select Interpreter"
- 选择您刚才创建的虚拟环境
- 准备必要的文件:
- 修改cookies:
- 运行脚本:
- 右键点击编辑器中的任意位置
- 选择 "Run Python File in Terminal"
- 查看输出:
创建虚拟环境:
复制
python -m venv myenv
在激活的虚拟环境中,运行以下命令:
pip install lxml requests pandas openpyxl
确保
test.xlsx
和 id.html
文件与 demo2.py
在同一目录下。在代码中找到
cookies
字典,用您自己的有效cookies替换现有的值。在DWSS页面点击鼠标右键,选择“检测”,进入页面控制台,选择“application”找到Cookie的ASP.NET_SessionId和eirs对应的value,如上图上示,然后,修改demo2.py文件的'Cookie': 'eirs=!ahhg2Qjgd/VCmSwAz5JTUhgTkMNW57ytrhSVXwGaupbk/6tComrHpFyr4VBBFUFoXdd68rUNlPTIJtg=; ASP.NET_SessionId=yxg4ltfy2ilt1z2pvu2ovmzg',
脚本的输出将显示在VSCode的集成终端中。
程序正常执行任务。
结果如下:
假如我这个项目帮到你,希望你帮我的项目点一下star,非常感谢。
在工程管理不断evolve的今天,像这样的自动化工具正在成为提高效率、减少错误的关键。通过将重复性的数据输入工作交给脚本,工程师们可以将更多精力投入到需要人类智慧和创造力的任务中。这不仅提高了工作效率,也为整个项目管理带来了质的飞跃。
- Author:Micheal_zhang
- URL:negentropypath.top/article/624f24d1-5b1e-4842-862c-204078072b4a
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!