0
点赞
收藏
分享

微信扫一扫

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

这才是使用Python的正确姿势!_公众号

文 | 李晓飞

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


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

因起

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

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

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

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

可怜天下父母心呀

障碍

前几次课,体验不错

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

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

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

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

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

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

改变

真的就没有办法了吗?

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

置之死地而后生

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

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

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

公众号应用

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

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

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

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

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

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

提取链接

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

这才是使用Python的正确姿势!_公众号_03提取链接

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

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

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

编写爬虫

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

将请求复制为 curl 格式

这才是使用Python的正确姿势!_python_04curl 请求转 Python 代码

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

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

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

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

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

右边瞬间就有了结果

这才是使用Python的正确姿势!_python_05curl 请求转 Python 代码

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

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

部署

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

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

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

总结

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

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

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

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

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

硬核老爸,我用 Python

个人品牌,我用 Python

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

比心

参考

​​​​​​​​​​​​​​​​​

PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!


老规矩,兄弟们还记得么如果感觉文章内容不错的话,记得分享让更多的人知道!

这才是使用Python的正确姿势!_公众号_06这才是使用Python的正确姿势!_微信_07

【​代码获取方式

识别文末二维码,回复:1024

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

举报

相关推荐

0 条评论