tail__tail 发表于 2020-7-21 17:09

python防疫填报 脚本求改进

源码如下
但是足足运行了两三分钟才填好,啊,ε(┬┬﹏┬┬)3
有听过这个库会慢,不过也许是我程序写的不行。
各位能教教我怎么改进吗?

from splinter import Browser
import time
with Browser('chrome') as b:
        b.visit('https://pt.tjpu.edu.cn/zfca/login?service=https%3A%2F%2Fwk.tiangong.edu.cn%2Fapp_xgc%2Fwork%2Ftjpu%2Fjkxxdj%2Fjkxxdj.jsp')
        time.sleep(5)

        button = b.find_by_xpath('//*[@id="username"]').fill(('填写账户'))
        button2 = b.find_by_xpath('//*[@id="password"]').fill(('填写密码'))
        button3 = b.find_by_xpath('//*[@id="thetable"]/div/span/input').click()
        print('已完成验证,请等待填报页面加载完毕')
        time.sleep(5)
        try:
                button4 = b.find_by_xpath('//*[@id="layui-layer2"]/div/a').click()
                print('成功填报,即将退出')
        except:
                print('你今天已经填报过了')

        time.sleep(5)


python版本 3.8
splinter版本 0.13.0
编译器   pycharm

Feng_Harry 发表于 2020-7-21 17:24

这不应该慢啊,会不会是电脑问题呢

Ldfd 发表于 2020-7-21 17:24

直接用Selenium呢?

yuhan694 发表于 2020-7-21 17:25

selenium不知道会不会快一点

DoctL 发表于 2020-7-21 17:30

直接Selenium 快很多

瓦官水口 发表于 2020-7-21 17:30

会不会是电脑问题呢

688村月半仙 发表于 2020-7-21 17:30

我们用企业微信。。。

Junpre 发表于 2020-7-21 17:38

如果没有什么比较难以分析出来的东西比如比较变态的加密、比较变态的请求头参数认证等等的话
个人建议使用 requests+Beautiful Soup来实现
代码量是一定比splinter要多,废的脑子也要更多,需要分析网页源码以及抓包分析各种请求和响应等等额外的操作
速度上一定是要比splinter快的

casparsonng 发表于 2020-7-21 17:40

Selenium相对来说好一点,你可以试试!!!

sf00 发表于 2020-7-21 17:46

分析下请求,参数啥的,用request要来快的多。
页: [1] 2
查看完整版本: python防疫填报 脚本求改进