藏头诗生成
思路:利用百度汉语这个接口爬取诗句,然后存到列表中随机抽出对应的一句并打印。
主要参数
完整代码
import requests
from random import choice
class Hide:
'''藏头诗类'''
def __init__(self):
print("=" * 20 + "藏头诗生成器" + "=" * 20)
self.url = 'https://hanyu.baidu.com/hanyu/ajax/search_list?'
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36 Edg/81.0.416.68'
}
def get_ct(self):
# 输入需要藏头的语句
self.wd = input('')
for head in self.wd:
try:
params = {'wd':head+'开头的诗句',
'from':'poem',
'pn':1,}
res = requests.get(url=self.url,headers=self.headers,params=params)
# 七言
list7 = []
# 五言
list5 = []
ret_array = res.json()['ret_array']
for ret in ret_array:
poem = ret['display_name'][0]
# 判断诗句长度
if len(poem) == 7:
list7.append(poem)
elif len(poem) == 5:
list5.append(poem)
print(choice(list5))
except:
print("没有找到符合要求的诗句")
# 主程序
Hide().get_ct()
while True:
a = input('\n输入a继续(回车退出):')
if a == 'a':
for i in range(4):
Hide().get_ct()
else:
break
运行结果