在开发个人小程序的时候想找些诗词的内容放在小程序上面,所以想到用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文件