知行编程网知行编程网  2022-03-25 09:39 知行编程网 隐藏边栏 |   抢沙发  8 
文章评分 0 次,平均分 0.0

大家新年好!每逢过年,家家户户少不了的一项就是贴对联,但是看着年年的新春对联,内容毫无新意,兴致也就减了大半。既然是玩Python的,最近春节在家也无聊,花了几个小时,用Python设计一个小的对联软件!


先看效果图

春节在家无聊,我用Python设计了一个对联软件


爬虫助攻


首先对网页的分析,打开对联设计网页,并进入开发者模式,可以很轻松的找到我们需要的目标,如下图所示:

春节在家无聊,我用Python设计了一个对联软件


查看其请求的url,如下所示:

http://mduilian.388g.com/c.php?in=%E6%98%A5%E9%A3%8E%E9%80%81%E6%9A%96&len=0000&time=Thu%20Jan%2031%202019%2018:23:16%20GMT&timestamp=1548930196082

这个url非常的复杂,需要我们仔细的进行分析:

  • 首先我们可以看出url有四个部分需要我们进行输入,然后细细分析发现,其in是我们输入的上联

  • time和timestamp顾名思义是时间和时间戳

  • 而len的意义是输入的字数,以0的个数来代替


有同学可能问,这哪里有时间和输入?分明都是些字母符号。这是因为这里的时间和输入都是经过url编码后的格式,我们可以通过urllib中的unquote函数来检查。稍微总结一下,上面的url比较负责,包含了url编码的输入,还有特定编码格式的时间,还有时间戳以及让人费解的len。


了解了url的结构组织,我们就可以很轻松的模拟浏览器进行访问,返回我们需要的内容。但是在后续又出现了乱码的问题,对于乱码的问题,我们将爬取到的数据采用“utf-8”编码进行解决。而针对于json库不能解析,我们采用正则表达式的方式,匹配“下联”,并将“下联”返回。

春节在家无聊,我用Python设计了一个对联软件


春节在家无聊,我用Python设计了一个对联软件


最后将得到的数据保存在根目录下,当对联保存完毕后,程序会弹出对话框,提醒对联已经完成,并到本地进行查看,运行效果如下图所示。

春节在家无聊,我用Python设计了一个对联软件


用Python自带的tk作一些小工具结合爬虫,还是非常有意思的!如果能对下联进行AI处理,比如爬取几千幅对联并模型训练,用自然语言智能处理就更有意思啦!有兴趣的同学可以进行改编!需要源码的同学,直接扫码获取:



获取源码,扫上面的二维码,然后输入:【对联】


本篇文章来源于: 菜鸟学Python

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享