python关键词对联_春节在家无聊,我用Python设计了一个对联软件

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

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

先看效果图

界面设计

首先,程序的界面设计还是利用tkinter来进行设计。通过tkinter的Entry类来输入我们的上联,然后通过button按钮,来启动程序进行设计。button键之所以能够完成后续的运行,是因为其绑定了我们的后续的操作函数(也就是代码中的get_xialian函数),通过绑定的函数,实现了爬虫的抓取和对联的保存。

界面设计完成了,而且绑定的函数也已经确定,接下来就是如何利用绑定的函数,来实现我们的后续操作,也就是爬虫抓取和保存。

爬虫助攻

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

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

获取源码,扫上面的二维码,然后输入:【对联】返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值