python-藏头诗(爬虫)

藏头诗生成

思路:利用百度汉语这个接口爬取诗句,然后存到列表中随机抽出对应的一句并打印。

主要参数

在这里插入图片描述

完整代码

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

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45931878/article/details/108475012