使用Python爬取诗词网站的数据在小程序中使用

937 阅读1分钟

在开发个人小程序的时候想找些诗词的内容放在小程序上面,所以想到用Python爬取网上的诗词数据。找到这个诗词网站

Python爬虫代码在github.com/yueyue10/..…。小程序二维码:

小程序中的截图如下:

诗词列表

课本古文

古文详情

爬取流程

在诗词网站查看诗词数据的结构,在代码中使用lxml.etree查找到列表的父标签,再遍历查找子标签里面的属性,提取到实体类里面。利用json.dumps方法将数据转成json格式,最后将json数据保存到json文件中即可。 部分代码如下:

    def get_info_from_cate4(self, url):
        html = self.get_html_text(url)
        com_html = etree.HTML(html)
        cate_card_div = com_html.xpath('//*[@id="main_left"]/div[@class="cate_card"]/div')
        for cate in cate_card_div:
            if len(cate.xpath('@class')) > 0:
                title = cate.xpath('.//h3/a[1]/text()')[0]
                href = cate.xpath('.//h3/a[1]/@href')[0]
                image = cate.xpath('.//a/img/@src')[0]
                # print("title", title)
                gradepoetry = self.get_detail_from_cate(title, image, href)
                gradepoetry_json = json.dumps(gradepoetry, default=lambda obj: obj.__dict__, sort_keys=True, indent=4)
                self.save_json_in_json(gradepoetry.grade, gradepoetry_json)
                print(gradepoetry_json)
            else:
                pass

快速开始

1.将PythonPro项目clone到本地

2.使用Idea打开pandas_data目录

3.运行poetry目录下的各分类下的spider.py程序即可得到对应的json文件