pyinstaller打包selenium+企业微信群发参数调配「建议收藏」

pyinstaller打包selenium+企业微信群发参数调配「建议收藏」目录1.selenium的等待与打包常见错误2.调用print中的内容和比较数据3.企业微信群发与webhook参数配置4.总结1.selenium的等待与打包常见错误在爬一些接口加密的动态数据时,有时候的需求就是那么一两个时效性的数据,费劲心思解密整理显得有些笨拙,做无头浏览拿出数据在有些时候也是非常实用的手段,这里分享一些自己经历过的问题和大家分享。显性等待和隐形等待是最为常见的等待手段,隐性等待页面完全加载,显性检查元素加…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

1.selenium的等待与打包常见错误

2.调用print中的内容和比较数据

3.企业微信群发与webhook参数配置

4.总结

        


1.selenium的等待与打包常见错误

        在爬一些接口加密的动态数据时,有时候的需求就是那么一两个时效性的数据,费劲心思解密整理显得有些笨拙,做无头浏览拿出数据在有些时候也是非常实用的手段,这里分享一些自己经历过的问题和大家分享。

        显性等待和隐形等待是最为常见的等待手段,隐性等待页面完全加载,显性检查元素加载是否完成,个人习惯的显性的书写格式:

        wait = WebDriverWait(web, 30, 2)
        wait.until(EC.presence_of_element_located((By.XPATH, '**')))
        wait.until(EC.presence_of_element_located((By.XPATH, '**')))
        text = web.find_element_by_xpath('**').text
        time = web.find_element_by_xpath('**').text

Jetbrains全家桶1年46,售后保障稳定

        使用xpath或者id定位都可,以每2s做一次检测,30s没到抛出异常,拿到想要的文本或者其他内容。

        遇到的证书问题,监测问题,等一些稀奇古怪却又不时出现的问题,可以试一试我的参数配置。

    opt = Options()
    opt.add_argument("--headless")
    opt.add_argument("--disable-gpu")
    opt.add_argument('--ignore-certificate-errors')
    opt.add_argument('-ignore -ssl-errors')
    opt.add_experimental_option('excludeSwitches', ['enable - logging'])
    web = Chrome(options=opt, executable_path='**')  # 路径下是chrome的驱动位置
    web.get('**')

        用pyinstaller打包时出现的问题大多数都是参数配置类型,还有   出现C:\Program‘ 不是内部或外部命令  的这个问题,可以写成下面这个形式(和 Program Files (x86) 挂钩的都先加个引号准没错),推荐用-D打包,很好用。(具体的参数讲解见文末)

os.system(r'C:/"Program Files (x86)"/Google/Chrome/Application/chromedriver.exe')
pyinstaller -D xxx.py

 

2.调用print中的内容和比较数据

        当我们遇到循环时出来的小数据差错,有时候需要print里的内容,可以将其加入文件后再用参数调取。(也就是将print的内容保存到文件)

 print(y, end='', file=f)

        而当我们遇到一些类似新闻等数据时带有时间和文本的,可以返回两个值,x = getContent() x[0]用于输出 x[1] 与上一条数据比较重复,这样在大工作量采用并发编程时,可以避免太多变量混淆。

 

 

3.企业微信群发与webhook参数配置

        将新闻播报、天气预报等时效性的数据,想在手机群里就能天天实时获取,可以用企业微信自带的接口进行接入,或者用一些自动化的库实现群发,这里简单讲一下企业微信内部群webhook的实用性。

        pyinstaller打包selenium+企业微信群发参数调配「建议收藏」

        添加后复制webhook参数 :

        pyinstaller打包selenium+企业微信群发参数调配「建议收藏」

 

        配置到pycharm中


    url = '**'  # 机器人的webhook地址
    headers = {'Content-type': 'application/json'}
    data = {
        "msgtype": "text",
        "text": {
            "content": x,  # x为要发送的文字
            "mentioned_list": ["@all"]  # 可指定人
        }  # 更多用途可查询企业微信官方

    }
    resp = requests.post(url, headers=headers, json=data) 
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"),resp.text)
    resp.close()

        可以群发的不止文本,还有图片、图文、指定任务,发送时间、频率等都可以通过post请求将data数据传入实现。

        针对外部群没有接口的情况,可以使用其他库利用算法运算(感兴趣可以私信我一起交流 )

4.总结

        在途中的自己真正碰到了一些问题,想到了一些小技巧,也许无意中的小错误就会让我苦想好几天,希望自己可以在你们的编程路上发挥锦薄之力。

        欢迎看到这篇的大家提出宝贵意见,一起交流学习。

pyinstaller打包selenium+企业微信群发参数调配「建议收藏」

Python(七)并发编程-实践1 (进程,线程,协程)

 企业微信机器人—入手
pyinstaller参数介绍以及总结

         

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234461.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js正则使用变量_JavaScript正则

    js正则使用变量_JavaScript正则varcookieName=”admin”; varcookie=document.cookie; varpat=newRegExp(“^”+cookieName+”=\\w*”,”g”);//输出的正则表达式/^admin=\w*/g

    2025年11月22日
    6
  • stm32看门狗工作原理

    stm32看门狗工作原理一、为什么需要看门狗?在MCU微型计算机系统中,MCU运行程序很容易受到外界电磁场的干扰,从而造成程序运行错误甚至造成跑飞现象,从而陷入死循环,程序的正常运行被打乱,从而造成不可预料的严重后果,于是人们就设计了一款用于实时监测计算机运行状态的芯片,我们就将其称为看门狗。二、看门狗的作用看门狗会无时无刻的去喂狗,如果程序发生跑飞的现象,那么单片机程序就不能继续去喂狗,继而计数器计数到0,看门狗产生复位脉冲信号。单片机发生程序跑飞的现象才会产生一个复位脉冲强制单片机复位,从而使单片机正常运行。三、看门狗

    2022年6月9日
    23
  • java hashcode作用yield返回值_对象的hashcode是什么

    java hashcode作用yield返回值_对象的hashcode是什么总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多

    2025年10月7日
    3
  • C# 字节数组截取

    C# 字节数组截取C#字节数组截取如:byte[]bt=newbyte[]{0,1,2,3,4,5,6,7,8,9};方法一截取位数规则1)截取2位长度的字节数组用BitConverter.ToInt16例如,从第2位开始截取2个字节则BitConverter.ToInt16(bt,2);2)截取4位长度的字节数组用BitConverter.ToInt32例如…

    2022年4月30日
    463
  • 树莓派命令连接wifi_树莓派如何连接WIFI

    树莓派命令连接wifi_树莓派如何连接WIFIhello,大家好,我是叶秋!上一期呢,给大家介绍了如何给树莓派安装系统,有细心的朋友就会发现上一期安装系统的文章漏了一点点知识,不知道机智的你是否有发现呢~~(尴尬????)下次一定注意。。????在第五步使用putty连接树莓派的时候,是使用的ssh连接的,所以呢树莓派一定要开启ssh,树莓派开启ssh也很简单,就是写完系统以后,直接在根目录新建一个文件,改名ssh然后删掉后缀名就OK啦,记住一…

    2022年6月11日
    40
  • 软件设计师考点汇总(室内设计师个人总结)

    文章目录分值分布考点总结计算机组成与体系结构数据表示进制转换编码浮点数运算CPU结构运算器控制器Flynn分类法CISC:复杂指令集;RISC:精简指令集流水线流水线相关概念存储系统Cache主存内存磁盘总线系统可靠性差错控制-校验码操作系统进程管理死锁及银行家算法存储管理页面置换算法文件管理索引文件目录结构位示图磁盘管理I/O设备管理虚设备与SPOOLING技术微内核操作系统数据库数据库模式数据库设计过程E-R模型关系代数规范化理论函数依赖键范式模式分解并发控制数据库安全备份恢复数据仓库与数据挖掘反规范化

    2022年4月17日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号