V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
julayanhe
V2EX  ›  Python

关于办公自动化的一个案例,求教下实现的方向

  •  
  •   julayanhe · 156 天前 · 5313 次点击
    这是一个创建于 156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬新年好,我这里有一个现实问题向大佬们请教:

    今天虽然是除夕了,但疫情形势仍然严峻,家人是基层工作者,有统计数据并做标记的临时工作。

    具体内容是:根据 excel 表格里的数据,比如:姓名和手机号,到查询系统(网页端)查询相关信息,把返回的信息回填到该人所在的行。

    家人一直是手动完成,非常繁琐耗时。我想这个工作应该可以自动化进行,请教下各位如何实现,到哪里找相关的工具或资料呢?

    本人是理科学生,有科学计算的需要所以 Python 能用,JavaScript 也接触过,这两种语言都可以尝试。

    谢谢各位。

    40 条回复    2022-03-03 20:50:12 +08:00
    dlsflh
        1
    dlsflh  
       156 天前 via Android
    Pyautogui
    dlsflh
        2
    dlsflh  
       156 天前 via Android   ❤️ 1
    用 pyautogui 的时候推荐使用 snipaste 加快写脚本的速度。
    mouyong
        3
    mouyong  
       156 天前   ❤️ 1
    python + selenium 搭配即可。
    julayanhe
        4
    julayanhe  
    OP
       156 天前
    @dlsflh 谢谢。

    这似乎是按键精灵式的自动化实现?因为有些数据不是正确的,所以还得考虑到查询系统报错或者不返回信息的情况
    julayanhe
        5
    julayanhe  
    OP
       156 天前
    @mouyong 我研究下,谢谢您,祝新年快乐。
    sairoa
        6
    sairoa  
       156 天前
    推荐个好东西 https://curl.trillworks.com/ ,在浏览器里直接抓到查询请求,然后在这个网站里转成 python 代码,接下来就是变量替换、excel 处理问题了。
    EvanLuo42
        7
    EvanLuo42  
       156 天前 via iPhone
    py 搭配 request 库模拟表单提交就可以了
    kokutou
        8
    kokutou  
       156 天前
    https://www.bilibili.com/video/BV1T34y1o73U

    基于截图的

    5 分钟拿来就能用
    kokutou
        9
    kokutou  
       156 天前
    获取信息可以找到截图坐标,
    然后控制点击移动鼠标选择, 再控制键盘输入 ctrl+c
    这样获取信息.
    stonewu
        10
    stonewu  
       156 天前
    用微软自带的 power automate
    binux
        11
    binux  
       156 天前 via Android
    其实,excel 公式或许就够了。。
    EscYezi
        12
    EscYezi  
       156 天前 via iPhone
    一般来说请求带着 cookie 就有登录态了,有个方案是 python 脚本读 Excel ,带着 cookie 请求网站接口,然后根据返回的数据写回 excel
    Hellert
        13
    Hellert  
       156 天前 via Android
    这种需求,看似简单,要做好不容易的。

    还不如给配个大显示器,教会怎么并排窗口,怎么使用 win+v 剪切板历史,来提高手工操作的效率来的靠谱。
    defunct9
        14
    defunct9  
       156 天前
    python 。我们公司有个上线系统,非常难用。后来我们就自己开发了个 python 程序,首先去 excel 拿到要处理的数据,然后根据这个数据去上线系统查询到哦上线机器,然后再自己一个一个去发 url 请求上线。基本满足你这个需求了。
    ila
        15
    ila  
       156 天前 via Android   ❤️ 2
    1. 读 excel
    2. requests 网页
    3. 解析网页
    4. 写 excel
    musi
        16
    musi  
       156 天前
    简单是挺简单的,不过要控制好查询的速度,不然把网站打挂了就不大好了
    mouyong
        17
    mouyong  
       156 天前
    @julayanhe
    进程 1. python 读取 excel 后,写入 redis hash 与 list 中。
    进程 2. 从 list 中 pop 出一条数据,查询 hash 对应的信息,通过 selenium 打开网页,定位登录框、查询框,录入信息;通过 BrowserMob Proxy (推荐)或 ajax hook (没体验过),拦截 ajax 信息,解析、入库 mysql 。
    通过 php laravel + dcat-admin 编写网页后台,提供查询展示等功能。信息整合完毕后导出新的需要的 excel 。

    进程 2 可设置定时任务,定时爬取。

    我有这样的实现方案。可联系我微信 1254075921 ,遇到问题可以解答。
    mouyong
        18
    mouyong  
       156 天前
    40 条信息的核对,别人要花 4~6 小时的工作。排除研发耗时 5 天。后续每次只需要等 9s ,所有人需要等待 6 分钟左右。且可以根据自己的心意安排玩耍了。
    awkward
        20
    awkward  
       156 天前
    微软的 power automate
    julayanhe
        21
    julayanhe  
    OP
       156 天前
    谢谢各位大佬的回答,今天的临时任务我就手动完成了。

    不过后面还会有很多类似的工作。我会好好研究下各位的意见。

    祝大家新年快乐。
    imn1
        22
    imn1  
       156 天前
    这个事情我建议结合实际工作要慎重考虑
    全自动是难的,半自动容易一点(自动请求、自动填写,但中间是人工判断)
    如果正常返回,一般都很顺畅,难点全在非正常返回的情况,例如找不到、网络错误等等

    最后,重点重点重点 ——
    如果出现漏填、填错的情况,你的家人是否要担责?
    如果要,我觉得还是半自动吧,一定要有人工判断的步骤,不然你的程序没考虑完全所有“非正常返回”的情况,出现错漏,引致家人担责,那才是大问题

    如果懂 pyqt ,我建议写个 webview ,把前面请求和最后分析页面用程序自动,减少打字、复制粘贴的操作,但中间查询的步骤,显示在 webview ,由人工判断“查询成功”还是“失败”
    jsq2627
        23
    jsq2627  
       156 天前
    这就是 RPA 领域的典型场景了

    推荐使用 UiPath 或者 Power Automate
    inframe
        24
    inframe  
       156 天前
    pandas 读取
    每一行数据,
    requests 发送请求解析结果
    pandas 再写回去;
    snw
        25
    snw  
       156 天前 via Android
    如果网页端没有反爬措施的话,用 Excel 自带的 Power Query 就可以(数据 -> 获取与转换),完全不需要 python 等外部应用。
    lijiext
        26
    lijiext  
       156 天前
    对用 RPA 就可以解决,国产很多解决方案
    xy90321
        27
    xy90321  
       156 天前 via iPhone
    完全自动化先不说,至少通过公式拼个 url 参数、又或者拼成 js 代码直接 dom 赋值输入是可以一下子实现的,这也能明显提升效率、降低错误率了
    li02
        28
    li02  
       156 天前 via Android
    在线编辑的文档不是很多,腾讯文档,钉钉文档,飞书文档不够用吗
    ji39
        29
    ji39  
       156 天前
    别让人知道你做的那么快,就怕后台能查询到你的录入速度,搞半自动最好,保证不错且速度能自己掌握
    miyuki
        30
    miyuki  
       156 天前
    简单一些的可以考虑 VBA

    之前遇到了一些模板填写(需要保留格式),表自带保护,一些库而且也不保留格式,最后用 VBA 搞定了
    wxb2dyj
        31
    wxb2dyj  
       156 天前 via iPhone
    推三楼。我自己就是这么做的。
    meathill
        32
    meathill  
       156 天前
    Excel 存成 csv ,然后配合 js 很容易。不过需要的知识面并不少,不知道你现学来不来得及。
    dingyaguang117
        33
    dingyaguang117  
       156 天前
    excel 可以直接写脚本的,VBS
    ch2
        34
    ch2  
       155 天前 via iPhone
    Python requests+openpyxl
    darkengine
        35
    darkengine  
       155 天前
    如果这个网页有验证码,就比较难受了
    levenwindy
        36
    levenwindy  
       155 天前
    34L +1 ,Python requests+openpyxl (如果有反爬就用 selenium 代替 requests )
    上个月刚好在弄,https://www.v2ex.com/t/827117
    前几天又把 LOL 过往每个英雄的 KDA 都按日期统计出来了
    https://imgur.com/8nCZuAD
    看楼主描述,实现这需求不难
    haoxuexiaoyao
        37
    haoxuexiaoyao  
       154 天前
    UI.Vision RPA 浏览器自动化工具 可以读 Excel,进行自动化查询,然后自动保存到表格
    lyz1990
        38
    lyz1990  
       153 天前 via Android
    https://www.litrpa.com/
    试试类似这种 RPA 的东西
    Alias4ck
        39
    Alias4ck  
       147 天前
    最简单的应该是用 vba 写个 宏
    stonesirsir
        40
    stonesirsir  
       125 天前
    @darkengine 就这个就很难受了
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1126 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 19:51 · PVG 03:51 · LAX 12:51 · JFK 15:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.