Python人生
文章平均质量分 57
python的那些事啊
1024小神
不会就去学,学习是永远不会亏的(wx:lanxingme)
展开
-
接了几个私活,看看客户怎么找到我的,并且我是怎么开发交付的
其实大部分网友加我还是有一定的需求的,比如开发一个软件,或者一个网站,或者一个自动化脚本,或者一个毕业设计,或者一个数据分析的工具等等,而且因为我开源了一些直播用的数据分析工具,有大部分网友看到之后,就会联系我看我能否开发更多功能,比如直播消息分析和自动回复等,比如直播商品分析和自动化工具等。交付前会先录制一个视频发给客户,看一下功能和操作流程是否符合客户需求,如果说符合需求,客户都会很主动的把剩下的钱给打过来,然后给客户发送软件,并且说明有问题随时联系,有bug说清楚,然后会及时修复跟进。原创 2024-08-09 12:11:19 · 612 阅读 · 0 评论 -
ttwid、x-bogus、a-bogus、msToken、byted_acrawler等直播参数说明和获取方式
ttwid类似客户端id,即便是游客模式,也可以对页面数据进行埋点统计,通过收集ttwid下的用户行为数据,给与内容推荐和广告推荐。这个也是某节公司下的基础服务,所以生成的id,只要是某节下的服务都可以使用。获取方式:从直播间的html中获取。原创 2024-08-08 20:11:01 · 844 阅读 · 0 评论 -
Ubuntu 22安装最新的protoc,并解决python运行报错ImportError: cannot import name ‘runtime_version‘ from ‘google.pro
【代码】Ubuntu 22安装最新的protoc,并解决python运行报错ImportError: cannot import name 'runtime_version' from 'google.pro。原创 2024-08-05 16:46:05 · 734 阅读 · 0 评论 -
飞书群聊机器人自定义机器人接入,并实现艾特@群成员功能
飞书群聊机器人还是比钉钉的要麻烦一点,钉钉的直接通过手机号就可以艾特群里面的人,但是飞书的要想艾特群里面的人,需要使用用户的或。这两个ID怎么获取呢?还需要在飞书的开放平台上创建一个应用,然后通过调用api接口查询出来!真的麻烦死了。原创 2024-07-19 18:03:47 · 1565 阅读 · 2 评论 -
pyppeteer模块经常使用的功能,相关操作案例
1.打开浏览器调用 launch 方法即可,相关参数介绍:ignoreHTTPSErrors (bool): 是否要忽略 HTTPS 的错误,默认是 False。headless (bool): 是否启用无界面模式,默认为 True。如果 devtools 这个参数是 True 的话,那么该参数就会被设置为 False。executablePath (str): 可执行文件的路径,如果指定之后就不需要使用默认的 Chromium 了,可以指定为已有的 Chrome 或 Chromium。原创 2024-06-24 22:42:23 · 1385 阅读 · 0 评论 -
Pyppeteer原理介绍和入门尝试
1.Chrome 浏览器和 Chromium 浏览器在 Pyppetter 中,实际上它背后也是有一个类似 Chrome 浏览器的 Chromium 浏览器在执行一些动作进行网页渲染,首先说下 Chrome 浏览器和 Chromium 浏览器的渊源。Chromium 是谷歌为了研发 Chrome 而启动的项目,是完全开源的。原创 2024-06-24 22:41:37 · 1284 阅读 · 0 评论 -
python创建websocket服务器,实现循环发送消息
WebSocket协议是在2008年由Web应用程序设计师和开发人员创建的,目的是为了在Web浏览器和服务器之间提供更高效、更低延迟的双向通信。它允许客户端和服务器在任何时候发送消息,无需重新建立TCP连接。WebSocket可以在Web浏览器和服务器之间传输文本和二进制数据,使得构建实时Web应用程序变得更加简单。原创 2024-06-24 11:55:11 · 681 阅读 · 0 评论 -
直播websocket签名signature字段生成逻辑,一步一步带你研究学习
我在这里做了一些注释,方便研究后续逻辑,我们这里看到了,l就是签名signature参数,所以搞出来l就可以了,但是l又依赖s和n,n是websocket_key很明显,那就继续研究s,但是s又依赖于t + a + r + o + ee.VERSION这五个,其中t + r + ee.VERSION = "1.0.14-beta.0"是明显的, 那就需要研究a + o是啥了,a是啥呢?是的,把这里面的逻辑搞清楚不是就可以搞到signature这个签名了嘛,好了,好好研究去吧,同学们,下课。原创 2024-06-21 11:41:04 · 652 阅读 · 0 评论 -
python请求requests通过session自动管理cookie维持会话状态
有的网站可能需要通过cookie来维持会话状态,来保持登陆状态或者认证状态,比如抖音搜索或者获取直播间信息等查询的时候,可以通过requests.session()来管理cookie。直接通过key设置cookie,但不支持设置cookie的 path、domain 等值。通过set方法设置cookie,且支持设置path、domain等值。自动化管理,不用手动修改操作,很方便。1.直接通过session对象管理。3.通过set 方法设置。原创 2024-04-30 17:03:22 · 1209 阅读 · 1 评论 -
Python批量裁剪图片
但是你只能通过不断摸索crop_box的取值,根据原图像上绘制的边界框,逐渐确定你最后的裁剪区域。前两天想要把连续的不同帧的静态图片拼成一个GIF图片,但是原来的图片需要裁剪,而且存在很多张,幸好这么多张的图片裁剪的位置是一样的,于是我便尝试用Python优雅地批量裁剪这些图片。代码的输入是图片的地址和两个点的坐标,这两个点的坐标分别表示一个矩形的左上角顶点和右下角顶点,这个矩形就是你的裁剪区域。 用draw_bbox拿到合适的crop_box以后,下面给出裁剪图片的代码。原创 2024-04-18 16:21:58 · 658 阅读 · 3 评论 -
vscode和pycharm等idea编写protobuf文件格式化
想在pycharm或者goland等idea中开发protobuf文件的话,可以安装一个插件:protocol-buffers。如果是vscode想要编写proto文件,可以安装另外一个插件:vscode-proto3。安装之后,proto文件就会支持高亮和格式化了。原创 2024-04-15 11:05:36 · 784 阅读 · 0 评论 -
mac电脑python运行websocket出现[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed cert
2024-04-15 07:18:49,795 - INFO - 直播流m3u8链接地址是: https://pull-hs-f5.flive.douyincdn.com/media/stream-403194963593265836/index.m3u8。2024-04-15 07:18:49,796 - INFO - 直播流FLV地址是: https://pull-hs-f5.flive.douyincdn.com/media/stream-403194963593265836.flv。原创 2024-04-15 10:35:54 · 1143 阅读 · 0 评论 -
vue项目打包部署到flask等后端服务里面,实现前后端不分离部署,解决空白页面和刷新页面not fount问题
flask项目根目录要有templates文件夹和static文件夹,用于存储vue打包后的模板文件和静态文件。3.flask的模板文件放置。原创 2024-02-07 11:32:46 · 1661 阅读 · 0 评论 -
Python使用gRPC入门,定义proto文件和收发消息
先来看一个非常简单的例子。假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串、你感兴趣的查询结果所在的页数,以及每一页多少条查询结果。// 声明使用 proto3 语法// 每个字段都要指定数据类型// 这里的数字2 是标识符,最小的标识号可以从1开始,最大到2^29 - 1, or 536,870,911。不可以使用其中的[19000-19999]// 这里是注释,使用 //文章的第一行指定了你正在使用 proto3 语法:如果不指定,编译器会使用 proto2。原创 2024-01-22 20:37:42 · 1803 阅读 · 0 评论 -
github如果有别人给你的仓库提pull request,该如何验证他的代码并合并
我有一个github仓库,是做抖音直播数据对接的,有很多朋友给我点了star,也有朋友fork了这个仓库,最近接收到一个pull request的请求,他最直播结束的内容作了判断,我该如何在我本地校验它的代码并合并呢?打开我的pull request:可以看到有一个pr请求。我想在本地验证他的代码:在本地按照这个步骤操作。这时候你直接运行测试一下:可以看到还是有效的。然后打开后: 他作了简单说明。原创 2024-01-20 10:55:37 · 646 阅读 · 0 评论 -
抖音直播间websocket礼物和弹幕消息推送可能出现重复的情况,解决办法
根据字段名称可以看到送礼物的人和送的礼物是什么,并且这个礼物的traceId是唯一的,所以可以通过这个traceId进行去重。原创 2023-12-19 17:06:16 · 2324 阅读 · 12 评论 -
python控制Windows桌面程序自动化模块uiautomation
总共需要查找8次就能找到控件。但是这个代码运行效率并不高,因为控件树中有很多控件,你所查找的EditControl在树的末尾, 从树根部搜索整个控件树需要遍历200多次才能找到这个EditControl, 如果用分层查找并指定查找深度,就可以只查找几次,很快就能找到控件。如果你发现automation.py不能打印你所看到的程序的控件,这并不是uiautomation的bug, 是因为这个程序是使用DirectUI或自定义控件实现的,不是用微软提供的标准控件实现的, 这个软件必须实现。原创 2023-10-19 15:11:17 · 2513 阅读 · 1 评论 -
python程序主动退出进程的方式:五种方式总有一种适合你
如果你的程序中包含有线程,用这种方式绝对没错!sys.exit()是一种常用的退出当前进程的方法,它可以终止一个程序的运行,并可以返回一个状态码。当sys.exit()被调用时,程序将立即停止执行,所有的finally子句(如果有的话)将被忽略,并且返回一个标识状态的整数。os._exit()是一种基于系统调用的退出方式,它可以忽略所有的清理活动,包括所有的缓存和终止信号处理器等。当使用os.exit()方法退出时,Python解释器将立即终止程序的运行,不会执行任何清理操作并且不会返回状态码。原创 2023-09-27 13:53:47 · 22065 阅读 · 0 评论 -
python实现全局变量共享,一个全局变量在多个文件中使用
之前使用了一个全局文件common.py,里面存储这个变量total,然后一个设置total=1000,另一个读total,但是发现读不到修改后的值,不知道问题出在哪里。后来将这个变量设置为一个全局对象的属性,然后再修改这个属性,然后另一个文件中读取这个属性,就好了。最后还需要一个main.py,这个是主程序入口,不能单独运行first.py和second.py,因为那样的话, 相当于两个进程,这个并不是两个进程间通讯,所以要保证这两个程序运行在同一进程中,所以就需要使用统一的入口来管理:main.py。原创 2023-09-26 15:54:24 · 1282 阅读 · 0 评论 -
python使用websocket实现多端数据同步,多个websocket同步消息,断开链接自动清理
当有ws链接进来的时候,有一个全局的数组存储所有的 ws_list 存储活着的websocket。ws_closed用来存储断开连接的ws信息,当每次建立新的链接或者一个ws收到消息,就检测每个链接的状态,并将信息同步到活着的所有ws链接。在游戏控制后台和游戏选手的ipad上都可以实时调整角色的技能和点数什么的,所以需要这样的一个功能来实现数据实时同步。就能建立一个ws链接,我创建了三个链接,当我在第一个上面发送消息的时候,后面两个就能将消息同步展示出来。原创 2023-09-20 11:51:37 · 1629 阅读 · 0 评论 -
python设置windows系统全局代理,并控制白空单和开关
在用 Python 编写一些网络相关的脚本时经常会需要连上特定代理。来回切换实在太麻烦。必然要让脚本运行的时候自动切换至代理,运行结束时停止使用代理。具体位置在:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings。修改注册表后系统不会刷新代理设置。简单的说,就是相当于IE里输完了代理IP而没点确认或者应用。Windows 下一般程序都会默认走 IE 的代理设置。而 IE 的代理设置妥妥的记录在注册表中。原创 2023-09-19 20:09:59 · 2228 阅读 · 0 评论 -
用flask框架flask-sock和websocket创建一个自己的聊天界面
但是如果你不熟悉它,WebSocket 是 HTTP 协议的一个扩展,它在客户端和服务器之间提供了一个永久的、双向的通信通道,在这里双方可以实时地发送和接收数据,而不受 HTTP 的请求/响应周期的限制。Sock 实例有一个路由修饰器,它的工作方式与 Flask 的非常相似,但是它添加了 WebSocket 协议握手,这样路由就可以使用 WebSocket 而不是 HTTP。在本文中,我将向您展示如何使用这个扩展。,它返回客户端页面,还有一个/echo 路由,它实现了 WebSocket 回显端点。原创 2023-09-19 19:14:04 · 1198 阅读 · 0 评论 -
python使用websocket服务传输数据的例子,可以保持长连接
因为我们发短信(http)久了,所以我们希望有电话(websocket);有了电话之后,我们可以愉悦交通(双工通信),所以我们说着一句一句话(网络的一个一个包);为了能让对方清楚理解我们的意思,所以我们说的话阴阳顿挫,稍有停顿(包的长度),好让对方get到我们的点。原创 2023-09-19 18:17:31 · 2248 阅读 · 1 评论 -
Python日志处理器,同时打印到控制台和保存到文件中,并保证格式一致
使用logging模块的时候,默认是输出到控制台的,当然也可以配置输出到文件中,但是当你配置了文件后,控制台的输出就消失了,所以,需要一个策略即能保存到文件中,又能输出到控制台中。下面是我做的优化:logging模块默认会创建一个处理器,所以只需要创建一个控制台的处理器即可。实现的效果: 文件中的格式和控制台是一样的。原创 2023-09-19 16:41:36 · 735 阅读 · 0 评论 -
使用Python访问Windows共享文件和文件夹内容,三个步骤五分钟搞定
在网上找了好久,大部分都是坑人的,还是凭借我自己的聪明才智,才发现了这个正确访问共享文件目录的姿势,哈哈哈。原创 2023-05-08 11:11:50 · 4899 阅读 · 4 评论 -
Centos安装Python3环境,并开启定时任务APScheduler提醒打卡
因为总是忘记打卡,所以使用企业微信的接口写了一个提醒打卡的消息提醒,这里就记录一下在一个干净的centos环境下安装python3环境并安装定时任务相关依赖,开启打卡的流程。原创 2023-04-24 11:43:43 · 271 阅读 · 0 评论 -
高效自学的6个窍门,不要再浪费时间乱学习了
方法不对,努力白费;方法对了,事半功倍!在学习的过程中我们会遇到各种困难与阻碍,如何发现并优化自己的学习方法就变得尤为重要。可以从以下几个方面分享一下在学习和工作中积累的高效学习方法吧!原创 2023-04-18 10:44:39 · 259 阅读 · 0 评论 -
Pylint代码分析工具使用详解,并集成到Pycharm步骤
Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的语法错误,是否遵守编码风格标准、潜在的问题等,Pylint 是一个 Python 工具,除了平常代码分析工具的作用之外,它提供了更多的功能:如检查一行代码的长度,变量名是否符合命名标准,是否有导入但未使用的模块,如果运行两次 Pylint,它会同时显示出当前和上次的运行结果,从而可以看出代码质量是否得到了改进。支持自定义配置:例如显示或隐藏特定的警告,并且可以通过编写插件来添加功能;原创 2023-04-17 16:10:56 · 2212 阅读 · 0 评论 -
AutoGPT 是什么?AutoGPT 怎么用?AutoGPT最简单快捷的使用Demo,五分钟直达
简单来说,AutoGPT 是一个全自动人工智能 AI,只需要给他一个目标(任务)、它会自动拆解目标、提出执行计划、思考执行策略、执行目标,整个过程无需人的参与;想要使用 AutoGPT 有两种方法:最简单的方法是 AgentGPT 这样的网页上使用,稍微复杂一些的方法是在自己的 Window 或 Mac 电脑安装部署 AutoGPT、把 AutoGPT 下载安装到你自己的本地电脑。以上就是简单最快捷的使用AutoGpt的方式,如果你想在你本地安装一个的话,过程有些复杂,这里我就不讲了,自己百度?原创 2023-04-17 10:29:17 · 906 阅读 · 0 评论 -
用Python操作github api创建仓库,上传index.html文件,并创建github page页面
想使用github token创建一个一条龙的服务,那就是创建仓库,添加index文件, 并发布github page页面,就需要对全流程的api有了解,今天我操作了一番,记录一下流程。原创 2023-04-10 14:45:06 · 614 阅读 · 0 评论 -
apscheduler怎么让一个固定时间运行的任务,立刻运行解决办法
第三种, 以上两种都需要重启服务, 如果想不重启服务那就要实现一个动态添加调度的入口, 这样你想立即执行的时候。都是先将定时任务添加到任务中去,到达指定时间,再执行。比如有个任务每天12点运行,今天的我就想现在立刻运行,而明天的还是12点运行?第一种, 独立出业务代码,直接执行业务逻辑,直接在接口调用这个立即执行函数。第二种, 增加一个调度, 什么参数都不加, 启动就执行, 不影响之前的业务。原创 2023-04-08 09:08:28 · 1104 阅读 · 0 评论 -
python进阶编程,魔幻的星号 * 作用有哪些
星号 (*args**kwargs。原创 2023-03-31 11:58:07 · 191 阅读 · 0 评论 -
如何在 Python 中动态调用函数,九种方法有大用处,特别是在框架设计的时候
请仔细品味,思考下他们的使用场景。其中一些函数调用方法,在函数式编程或元编程场景中大量使用。你可以在一个字符串中定义你的函数,并使用compile函数将它编译成字节码,然后使用exec来执行它。函数,可以让我们可以把一个函数的一部分参数填入,然后调用。看起来没什么用,遇到的时候有大用。方法,这个方法返回一个字典,包含了对象的所有属性。首先我们需要知道,每个python对象都有一个内置的。方法返回的所有属性,其中红框内的,你是否有些熟悉?,我们可以通过它获取函数后执行。中,有一个获取属性的方法,叫做。原创 2023-03-31 11:49:07 · 2694 阅读 · 0 评论 -
一个简单的机器学习流程实现
最近的我,对机器学习产生了浓厚的兴趣,跃跃欲试地想要利用机器学习在自己的方向上大干一场…原创 2023-03-31 10:24:04 · 149 阅读 · 0 评论 -
github action 中python读写文件问题总结
在action中的执行结果:注意看,这个路径是以仓库根路径来的,而不是你python代码存放的路径,所以你如果想要读取深层路径下面的文件,需要注意从仓库的根路径出发。总结下来发现,在action中读文件没有问题,但是写文件是没办法成功的。写文件:写文件虽然没有报错,但是在仓库中是找不到写入的文件的。但是在仓库中是找不到这个文件的。测试示例,读文件:注意文件路径,原创 2023-03-29 11:56:06 · 404 阅读 · 2 评论 -
requests.exceptions.SSLError: HTTPSConnectionPool(host=‘.*.‘, port=443): 开启代理时无法使用python的requests库
python的requests,开启v2rayN后,无法使用python的requests库报错:有能力的也可以自己查看解决办法我这里总结一下解决办法如果你的请求不想走v2ray的设置:设置 -> 参数设置 -> 系统代理设置 -> 下拉选中:socks={ip}:{socks_port}然后再发送请求:可以看到请求成功发送了。原创 2023-03-29 11:29:50 · 7240 阅读 · 0 评论 -
Safari浏览器自动化测试,Python脚本控制自动化测试
selenium进行自动化测试过程中,直接启动safari浏览器会报错"Could not create a session: You must enable the 'Allow Remote Automation' option in Safari's Develop menu to control Safari via WebDriver."以上报错提示翻译成中文为: 无法创建会话:必须在Safari的“开发”菜单中启用“允许远程自动化”选项,才能通过WebDriver控制Safari。原创 2023-03-23 13:51:50 · 1167 阅读 · 0 评论 -
如何利用Python在网上接单,兼职也能月薪过万
16年之前也就是我还未毕业的时候,曾经用scrapy抓了很多数据,卖给过不少公司,最大一次是百度地图。大学期间主要是WordPress还有Django撸了几个小站,搞搞前端基本就能过关,大概每个站能赚3-5千,投入产出比很高,但是不是经常能碰到这种活。主要开发工具 为按键精灵,赚的不多,但是属于持续性收入,基本上可以覆盖整个游戏的生命周期,但随着监管力度增大,风险越来越高,本人已经退出这个行业。外包工作极少,但是目前找工作还是蛮好找的,个人认为以后工作前景不错,如果愿意可以发展一下。原创 2019-04-19 08:37:24 · 44412 阅读 · 8 评论 -
python3中超级好用的日志模块loguru模块详解,优雅的日志管理模块
用了 loguru 我们还可以非常方便地使用 rotation 配置,比如我们想一天输出一个日志文件,或者文件太大了自动分隔日志文件,我们可以直接使用 add 方法的 rotation 参数进行配置。loguru默认的输出格式是上面的内容,有时间、级别、模块名、行号以及日志信息,不需要手动创建 logger,直接使用即可,另外其输出还是彩色的,看起来会更加友好。所以说,刚才我们所演示的输出到文件,仅仅给它传了一个 str 字符串路径,他就给我们创建了一个日志文件,就是这个原理。原创 2023-03-15 16:52:58 · 1354 阅读 · 3 评论 -
pycharm没有找到manage repositories按钮解决方案
不知道是因为版本原因还是其他,pycharm没有找到manage repositories按钮,无法更改下载源,导致安装库的速度会很慢。清华源 : https://pypi.tuna.tsinghua.edu.cn/simple。阿里源 : http://mirrors.aliyun.com/pypi/simple/豆瓣源 : http://pypi.douban.com/simple/2、点击设置按钮,点击加号,输入镜像网址,保存。1、点击左下角的python packages。原创 2023-03-01 18:23:18 · 6948 阅读 · 5 评论