这才是使用Python的正确姿势!

简介: 前段时间,被儿子鄙视了,为了找回作为父亲的尊严,我豁出去了,本以为是根硬骨头,结果,太出乎意外了……

因起

去年发现家附近,有个马场,约了下试骑,孩子挺喜欢

这家马场设施齐全,工作人员态度也不错,最重要的是,还可以在线预约,可以省去很多麻烦

经过再三考虑,加上架不住销售的鼓吹,报名了

打算开启孩子的精进之旅,对未来充满着希望

可怜天下父母心呀


障碍

前几次课,体验不错

上完之后,在公众号上一约,才发现事情并非之前想的那样顺利

首先是慢,其次周末太火爆约经常约不上,一打听,大部分家长都是在每一和周二提前把周末的约好了

其次,教练资源每天上午10点放出往后六天的,常常因为工作忘记

更麻烦的是,孩子非得约自己喜欢的教练,这个教练态度温和,水平高超,获奖无数,妥妥的香饽饽,更使约课雪上加霜

接连几个星期都没有约上课,孩子也没法持续训练,对我也有了抱怨之情

我这个做爸爸的,还真无处辩驳……


改变

真的就没有办法了吗?

当然不是,只是有没有将自己逼到必须解决的份上,所谓

置之死地而后生

持续几次之后,有点不耐烦了,突然想到

咱不是会 Python 吗,写个爬虫,自动预约呗

于是利用工作之余琢磨如何实现自动预约


公众号应用

对于公众号应用,实际上是一个普通的 H5 网页,为了安全,会限制只能用微信浏览器访问,以及方便直接用微信登录

实现方式是通过公众号提供的链接转化接口,将普通链接转化为需要微信验证的链接

通过转化后的链接,必须在微信应用的自带浏览器中访问,请求后会获取一些用户的身份信息,比如 Openid,昵称,性别等

这时需要用户来确认是否同意该公众号获取自己的这些信息

当用户同意后,就会跳转到实际的页面里,这时会附带上一些用户的特征信息

这时,访问的就是公众号应用的原始 URL 了


提取链接

微信内置浏览器有个复制链接的功能,可以获取当前页面的 URL


40.jpg

提取链接

然后在电脑的浏览器中打开,一般就能看到和在微信里访问相同的页面

通过这样的方式,我发现这个公众号的 URL 中有 Openid 信息,应该是做用户识别用的

如果能在电脑浏览器中打开,下面的事情就简单了


编写爬虫

通过浏览器的请求分析功能查看关键操作的请求 (一般按 F12 就可以进入调试模式)

将请求复制为 curl 格式

41.jpg


curl 请求转 Python 代码

这样的好处是,复制全请求的全部内容

这时你可能会觉得,应该编写 Python 代码了

确实是可以了,不过将复制的请求内容编写成 Python 语句可不是件容易的事情,如果你这么干过的话,光做引号配对就非常耗时了

好在,我们可以利用在线转化工具,粘贴复制就可搞定,我推荐 https://curl.trillworks.com/ 这个工具

将复制的 curl 格式请求,粘贴在左边,然后选择要转换为的语言,比如 Python

右边瞬间就有了结果


42.jpg

curl 请求转 Python 代码

将结果复制出来,会发现大部分编码工作已经完成了

剩下的就是一些小调整了,比如将参数动态化,设置一些逻辑等等


部署

最后将代码做成定时服务,如果有云服务器,写个 crontab 就好了

也可以做成一个定义任务,可以参考这一篇文章 公交闹钟 —— 再也不用白等车了 其中有详细定时任务的制作教程

经过一番折腾,终于为孩子约上了喜欢的教练的课,而且不用每次守着手机无奈的等待,也重新找回了做为父亲的尊严……


总结

很多朋友经常会问,如何学习一门编程语言,又如何利用

其实就是在学中用,用中学,不断地利用学到的技能,解决实际中的问题,甚至创造出一些机会来实践,这便是学习和利用的捷径

之前也写过一些关于应用的文章,请参考,比如

美图太多,Python 帮你挑选最合适的

老板让很快处理数百图片,我该辞职吗

硬核老爸,我用 Python

个人品牌,我用 Python

唯有不断地练习,才能快速成长,关注我们,将为您的精进之旅增加强劲的动力

比心

目录
相关文章
|
Python
4.10正确的 Python题
4.10正确的 Python题
116 0
|
6天前
|
安全 Python
告别低效编程!Python线程与进程并发技术详解,让你的代码飞起来!
【7月更文挑战第9天】Python并发编程提升效率:**理解并发与并行,线程借助`threading`模块处理IO密集型任务,受限于GIL;进程用`multiprocessing`实现并行,绕过GIL限制。示例展示线程和进程创建及同步。选择合适模型,注意线程安全,利用多核,优化性能,实现高效并发编程。
20 3
|
8天前
|
开发者 Python
Python元类实战:打造你的专属编程魔法,让代码随心所欲变化
【7月更文挑战第7天】Python的元类是编程的变形师,用于创建类的“类”,赋予代码在构建时的变形能力。
30 1
|
9天前
|
设计模式 存储 Python
Python元类大揭秘:从理解到应用,一步步构建你的编程帝国
【7月更文挑战第6天】Python元类是创建类的对象的基石,允许控制类的生成过程。通过自定义元类,可在类定义时动态添加方法或改变行为。
16 0
|
6天前
|
数据采集 大数据 数据安全/隐私保护
Python编程:如何有效等待套接字的读取与关闭
Python网络编程中,套接字事件处理至关重要。利用`selectors`模块和代理IP能增强程序的稳定性和可靠性。代码示例展示了如何通过代理连接目标服务器,注册套接字的读写事件并高效处理。在代理IP配置、连接创建、事件循环及回调函数中,实现了数据收发与连接管理,有效应对网络爬虫或聊天应用的需求,同时保护了真实IP。
Python编程:如何有效等待套接字的读取与关闭
|
1天前
|
数据挖掘 开发者 Python
如何自学Python编程?
【7月更文挑战第14天】如何自学Python编程?
16 4
|
4天前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
【7月更文挑战第11天】在Python编程中,图以邻接表或邻接矩阵表示,前者节省空间,后者利于查询连接。通过字典实现邻接表,二维列表构建邻接矩阵。图的遍历包括深度优先搜索(DFS)和广度优先搜索(BFS)。DFS使用递归,BFS借助队列。这些基础技巧对于解决复杂数据关系问题,如社交网络分析或迷宫求解,至关重要,能提升编程艺术。
11 5
|
6天前
|
存储 算法 Python
震撼!Python算法设计与分析,分治法、贪心、动态规划...这些经典算法如何改变你的编程世界!
【7月更文挑战第9天】在Python的算法天地,分治、贪心、动态规划三巨头揭示了解题的智慧。分治如归并排序,将大问题拆解为小部分解决;贪心算法以局部最优求全局,如Prim的最小生成树;动态规划通过存储子问题解避免重复计算,如斐波那契数列。掌握这些,将重塑你的编程思维,点亮技术之路。
14 1
|
8天前
|
程序员 Python
从零到一,彻底掌握Python闭包与装饰器的精髓,成为编程界的隐藏Boss
【7月更文挑战第7天】探索Python编程的两大基石:闭包与装饰器。闭包是内部函数记住外部作用域的变量,如`make_multiplier_of`返回的`multiplier`,它保持对`n`的引用。装饰器则是函数工厂,接收函数并返回新函数,如`my_decorator`,它在不改变原函数代码的情况下添加日志功能。掌握这些,让代码更优雅,效率更高,助你成为编程高手。
16 3
|
7天前
|
算法 索引 Python
Python算法设计与分析大揭秘:分治法、贪心算法、动态规划...掌握它们,让你的编程之路更加顺畅!
【7月更文挑战第8天】探索Python中的三大算法:分治(如快速排序)、贪心(活动选择)和动态规划(0-1背包问题)。分治法将问题分解求解再合并;贪心策略逐步求局部最优;动态规划通过记忆子问题解避免重复计算。掌握这些算法,提升编程效率与解决问题能力。
15 1

相关实验场景

更多