知行编程网知行编程网  2022-06-25 10:00 知行编程网 隐藏边栏 |   抢沙发  36 
文章评分 0 次,平均分 0.0

飞花令是古时候人们经常玩一种“行酒令”的游戏,是中国古代酒令之一,属雅令。“飞花”一词则出自唐代诗人韩翃《寒食》中 春城无处不飞花 一句。行飞花令时选用诗和词,也可用曲,但选择的句子一般不超过7个字。

在《中国诗词大会》中改良了“飞花令”,不再仅用 字,而是增加了 云、 春、月、夜 等诗词中的高频字,轮流背诵含有关键字的诗句,直至决出胜负。

今天,我们就利用 Python 定制一款“飞花令”小程序:给定一个关键字或者关键词,就能够返回许多含有这个关键字的诗句,跟朋友玩再也不怕输了!

网页分析

要利用爬虫完成这项工作需要先选择一个合适的网站,这里我们选择了 古诗文网https://www.gushiwen.cn/手把手教你用20行Python代码制作飞花令小程序!

在右上角的方框中输入关键词,如,就能够返回相应的结果:手把手教你用20行Python代码制作飞花令小程序!

我们注意到,返回的结果是一整首诗或词,关键字所在的句子仅为其中一句。后面我们爬取信息时也需要做到过滤。

往下翻页后会发现只能获取前 2 页内容,到第 3 页会出现以下提示:手把手教你用20行Python代码制作飞花令小程序!

也就是说要完整获取全部诗文需要下载 App,本文简化问题只爬取前 2 页的内容,后续有机会再分享 App 相关爬虫推文。在翻页的过程中我们注意一下 URL 的改变:

第 1 页:https://so.gushiwen.cn/search.aspx?value=酒

第 2 页:https://so.gushiwen.cn/search.aspx?type=title&page=2&value=酒

其中经过测试 type=title 可以去除,而page=2 显然是页码,那么 page=1 能否获取到第 1 页呢?

答案是可以的,因此不需要用 requestspost 请求,直接 get 下面的 URL 就可到达指定页面:https://so.gushiwen.cn/search.aspx?page=页码&value=关键字

大致分析完就可以写代码了

代码实现

首先导入库,设置请求头

手把手教你用20行Python代码制作飞花令小程序!

至此,我们就通过 Python 爬虫就成功制作了一款“飞花令”小工具,感兴趣的读者可以自己尝试一下!

文末福利

小编收藏了 2 张Python 数据分析速查表,每一张都是非常实用 ~

手把手教你用20行Python代码制作飞花令小程序!

手把手教你用20行Python代码制作飞花令小程序!

怎么获取呢?


扫码后台输入, "速查表"  获取

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

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

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

发表评论

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