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参数介绍以及总结

         

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 《哈佛大学公开课:幸福课》学习笔记(3)「建议收藏」

    《哈佛大学公开课:幸福课》学习笔记(3)「建议收藏」关键词/句:Howcanwegetbeyondthat”comfortablynumb”?Howcanwegetbeyondthat”queitdesperation”?focusedonthehealthandcultivatedit,watereditandshedalighttoit,realizedit.optimism,…

  • 微信公众号平台开发测试怎么做_软件测试怎么测小程序

    微信公众号平台开发测试怎么做_软件测试怎么测小程序微信公众号与微信客户端之间的通信机制如下图所示:公众账号需要根据不同微信用户的不同消息做出不同的响应,所以每一个公众账号需要开发自己独有的系统,这套系统需要运行在公网环境下,但是我们通常普通开发人员没有这个条件,所以我选择了新浪云(天真的我以为是免费的,结果花了10个小洋)。第一步注册微信公众账号我用已有的微信号,扫码即可得到一个第二步注册新浪云

  • Java中的this指针

    Java中的this指针AlienTechforbetterlife!~

  • Java中常见的类加载器及双亲委派机制的原理

    相信不少的同学在面试的时候会被问到一个词:双亲委派,懂得同学懂,不懂的同学可能会尴尬一笑,那么今天咱们就来聊聊这个问题的原理,首先我们需要了解一下java中常见的几种类加载器。一、Java中常见的类加载器1.BootstrapClassLoader纯C++实现的类加载器,没有对应的Java类,主要加载的是jre/lib/目录下的核心库2.ExtClassLoader类的全名是…

  • resttemplate post请求发送body_java发送post请求

    resttemplate post请求发送body_java发送post请求当使用RestTemplate进行http请求时,的确很方便,但是当需要进行post请求时遇到了坑1POST传递参数:采用LinkedMultiValueMap,不能使用HashMapStringurl=’http://posturl’;MultiValueMap<String,String>map=newLinkedMultiValueMap&lt……

  • 一文搞懂JVM内存结构

    一文搞懂JVM内存结构1.前言Java虚拟机是中、高级开发人员必须修炼的知识,有着较高的学习门槛,很多人都不情愿去接触它。可能是觉得学习成本较高又或者是感觉没什么实用性,所以干脆懒得“搭理”它了。其实这种想法是错误的。举个最简单的例子,JVM基本上是每家招聘公司都会问到的问题,它们会这么无聊问这些不切实际的问题吗?很显然不是。由JVM引发的故障问题,无论在我们开发过程中还是生产环境下都是非常常见的。比如…

发表回复

您的电子邮箱地址不会被公开。

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