用Python爬取古诗文网的各类古诗

fetch-gushiwen

用途

可以拿去用于个人知识库、知识图谱的创建等其他学习用途。

使用

输入古诗文网的链接,即可爬取该页面所有诗歌的诗名,作者,朝代,内容,译文,注释,赏析,创作背景。

输出的json格式如下:

{'name': '行宫', 'author': '元稹', 'dynasty': '唐代', 'content': '寥落古行宫,宫花寂寞红。白头宫女在,闲坐说玄宗。', 'trans': '曾经富丽堂皇的古行宫已是一片荒凉冷落,宫中艳丽的花儿在寂寞寥落中开放。幸存的几个满头白发的宫女,闲坐无事只能谈论着玄宗轶事。', 'annotation': '寥(liáo)落:寂寞冷落。行宫:皇帝在京城之外的宫殿。这里指当时东都洛阳的皇帝行宫上阳宫。宫花:行宫里的花。白头宫女:据白居易《上阳白发人》,一些宫女天宝末年被“潜配”到上阳宫,在这冷宫里一闭四十多年,成了白发宫人。说:谈论。玄宗:指唐玄宗。', 'appreciation': '元稹的这首《行宫》是一首抒发盛衰之感的诗,这首短小精悍的五绝具有深邃的意境,富有隽永的诗味,倾诉了宫女无穷的哀怨之情,寄托了诗人深沉的盛衰之感。诗人先写环境。首句中“寥落”已点出行宫的空虚冷落,又着一“古”字,更显其破旧之象。这样的环境本身就暗示着昔盛今衰的变迁。而后以“宫花寂寞红”续接,此处可见运思缜密。娇艳红花与古旧行宫相映衬,更见行宫“寥落”,加强了时移世迁的盛衰之感。两句景语,令人心无旁骛,只有沉沉的感伤。后两句由景及人,写宫女,“白头”与第二句中的红花相映衬。宫中花开如旧,而当年花容月貌的宫女已变成了白发老妇。物是人非,此间包含着多少哀怨、多少凄凉便不言而喻了。末句“闲”字与上文“寂寞”相照应,写出宫女们长年受冷落的孤寂与无奈。过去她们的一颦一笑、盛装丽服只为取悦君王,而今再无缘见龙颜,她们还能做什么呢? 只能无聊地“闲”在冷宫。而这些宫女们所谈的仍旧是玄宗盛世。这一方面表现了她们对往昔生活的追忆,另方面也证明了如今无可言说的空虚。比较之下,那种深沉的盛衰之感越发鲜明突出而具体了。这里,寥落古行宫中的白头宫女,还是唐玄宗时代历史的见证人。唐玄宗在其继位后期,宠幸杨贵妃,终日沉溺在淫乐酒色之中,把政务全部委给奸相李林甫和杨国忠,朝纲紊乱,谄佞当道,终于酿成安史之乱。乱后,玄宗被迫退位,赫赫不可一世的大唐王朝亦从此一蹶不振,日益走向下坡路。白居易在《长恨歌》里曾深致感慨说:“缓歌慢舞凝丝竹,尽日君王看不足。渔阳鼙鼓动地来,惊破霓裳羽衣曲。”四句诗,已形象地概括出玄宗昏愦好色与亡国致乱的历史因由,其讽刺与揭露是十分深刻的。元稹这首短诗当然不可能象白诗那样铺张扬厉,极尽渲染之能事,他只能采取对照、暗示点染等方法,把这一段轰轰烈烈的历史高度浓缩,加以典型化的处理,从而让人回味咀嚼。寥落的古行宫,那在寂寞之中随岁月更替而自生自落的宫花,那红颜的少女变为白发老人,都深深地带有时代盛衰迁移的痕迹。白头宫女亲历开元、天宝之世,本身就是历史的见证人,“闲坐说玄宗”的由治而乱。这本是诗篇主旨所在,也是诗人认为应引以为戒的地方,却以貌似悠闲实则深沉的笔调加以表现,语少意多,有无穷之味。二十个字,地点、时间、人物、动作,全都表现出来了,构成了一幅非常生动的画面。这个画面触发读者联翩的浮想:宫女们年轻时都是花容月貌,娇姿艳质,这些美丽的宫女被禁闭在这冷落的古行宫中,成日寂寞无聊,看着宫花,花开花落,年复一年,青春消逝,红颜憔悴,白发频添,如此被摧残,往事岂堪重新回顾!然而,她们被幽闭冷宫,与世隔绝,别无话题,却只能回顾天宝时代玄宗遗事,此景此情,令人凄绝。“寥落”、“寂寞”、“闲坐”,既描绘当时的情景,也反映诗人的倾向。凄凉的身世,哀怨的情怀,盛衰的感慨,二十个字描绘出那样生动的画面,表现出那样深刻的思想。这首诗正是运用以少总多的表现手法,语少意足,有无穷味。另一个表现手法是以乐景写哀情。我国古典诗歌,其所写景物,有时从对立面的角度反衬心理,利用忧思愁苦的心情同良辰美景气氛之间的矛盾,以乐景写哀情,却能收到很好的艺术效果。这首诗也运用了这一手法。诗所要表现的是凄凉哀怨的心境,但却着意描绘红艳的宫花。红花一般是表现热闹场面,烘托欢乐情绪的,但在这里却起了很重要的反衬作用:盛开的红花和寥落的行宫相映衬,加强了时移世迁的盛衰之感;春天的红花和宫女的白发相映衬,表现了红颜易老的人生感慨;红花美景与凄寂心境相映衬,突出了宫女被禁闭的哀怨情绪。红花,在这里起了很大的作用。这都是利用好景致与恶心情的矛盾,来突出中心思想,即王夫之《姜斋诗话》所谓“以乐景写哀”,一倍增其哀。白居易《上阳白发人》“宫莺百啭愁厌闻,梁燕双栖老休妒”,也可以说是以乐写哀。不过白居易的写法直接揭示了乐景写哀情的矛盾,而元稹《行宫》则是以乐景作比较含蓄的反衬,显得更有余味。这首绝句语言平实,但很有概括力,精警动人,也很含蓄,给人以想象的天地,历史沧桑之感尽在不言之中,寓意深刻,自来评价很高。王建的《宫词》,白居易的《长恨歌》,元稹的《连昌宫词》,都是长达千字左右的宏篇巨制,详尽地描述了唐玄宗时代治乱兴衰的历史过程,感叹兴亡。总结教训,内容广博而深刻。元稹这首小诗总共不过二十个字,能入选《唐诗三百首》,与这些长篇巨作比美,可谓短小精悍,字字珠玑。', 'background': '元稹生活在中唐年代,正值唐朝经历过安史之乱不久,国力的各个方面都在走下坡路之时。这首诗可能是他在唐宪宗元和四年(809)作于洛阳。'}

例如我要爬取唐诗三百首,先去古诗文网获得唐诗三百首的网址链接:
在这里插入图片描述

右侧的古诗三百,宋词三百,小学古诗等都可以爬取你只需要拿到链接就可以了。

运行python代码,结果如下:
在这里插入图片描述

代码结构

import requests
import re
from bs4 import BeautifulSoupdef fetch_html(url):try:response = requests.get(url)response.raise_for_status()return response.textexcept requests.RequestException as e:print(f"Error fetching HTML content: {e}")return Nonedef extract_poem_urls(html_content):soup = BeautifulSoup(html_content, 'html.parser')poem_urls = []for a_tag in soup.find_all('a', href=True):href = a_tag['href']if href.startswith("/shiwenv_"):full_url = f"https://so.gushiwen.cn{href}"poem_urls.append(full_url)return poem_urlsdef fetch_poem_details(url):poem_details = {"name": "","author": "","dynasty": "","content": "","trans": "","annotation": "","appreciation": "","background": ""}soup = BeautifulSoup(fetch_html(url), 'html.parser')#省略if __name__ == "__main__":url = input("Please enter the URL(example:https://so.gushiwen.cn/gushi/tangshi.aspx): ")poem_urls = []html_content = fetch_html(url)if html_content:poem_urls.extend(extract_poem_urls(html_content))else:print("Failed to fetch or parse HTML content.")for url in poem_urls:details = fetch_poem_details(url)print(details)

完整爬虫代码见仓库:https://github.com/palp1tate/fetch-gushiwen

声明

本爬虫代码仅可用于个人学习用途,切勿用于任何商业用途!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/730959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MRCTF2020]Transform1

a[33]"9,10,15,23,7,24,12,6,1,16,3,17,32,29,11,30,27,22,4,13,19,20,21,2,25,5,31,8,18,26,28,14" b[33]"103,121,123,127,117,43,60,82,83,121,87,94,93,66,123,45,42,102,66,126,76,87,121,65,107,126,101,60,92,69,111,98,77" python代码 a3 [103…

前端实现一个绕圆心转动的功能

得知了转换关系,我们就可以定义一个变量 angle 来表示我们这个 div 做圆周运动时绕圆心转过的角度,则弧度(radian) 为 radian (angle*π)/180 我们先在草稿纸上演练一遍我们的逻辑是否可行。让我们先准备一…

2024蓝桥杯每日一题(差分)

一、第一题:空调 解题思路:差分 希望P减掉T后就相当于从0到New_P,想到得到New_P只需要对全0数组进行若干次区间加操作,所以只需要对New_P数组进行差分,累加正数和负数,哪个绝对值大答案就是那个。 …

数据库安全的重要性

数据库作为信息系统的核心,不仅承载着海量的关键数据,还负责向各类用户提供高效、可靠的信息服务。在网络技术高度发展的今天,数据库的安全性显得尤为关键。为了防范不法分子的攻击,维护数据完整性和可靠性,数据库安全…

【Windows】VMware虚拟机应用(二):安装ubuntu-14.04.4

一、下载安装包 ubuntu-14.04.4-server-amd64.iso 注:因为我是用已有的安装包,所以,这里就不写下载步骤了。 二、安装引导 以管理员身份运行 VMware Workstation Pro 注:如果不是管理员身份运行,在安装系统时会出现…

二叉搜索树:查找+插入+删除+性能分析

文章目录 一、搜索树1.二叉搜索树的查找2.二叉搜索树的插入3.二叉搜索树的删除4.性能分析 一、搜索树 二叉搜素树 ( 二叉排序树 ) 1.要么是空树 2.如果左子树不为空,则左子树上所有节点的值都小于根节点的值 3.如果右子树不为空,则右子树上所…

7款前端实战型项目特效分享(附在线预览)

分享7款实用性的前端动画特效 其中有canvas特效、css动画、svg动画等等 下方效果图可能不是特别的生动 那么你可以点击在线预览进行查看相应的动画特效 同时也是可以下载该资源的 CSS春节灯笼特效 基于CSS实现的灯笼特效 灯笼会朝左右两个方向来回的摆动着 以下效果图只能体现…

关于Vue3的一些操作

1. 设置浏览器自动打开 在package.json 中设置 dev: vite --open 2.给src文件夹配置别名 在vite.config.ts配置文件中添加以下内容 3. 如果2中有红色波浪线的问题 ***安装一个文件包***npm install types/node3. 在tsconfig.json配置文件中,找到配置项compi…

Windows下Node.js安装保姆级教程

一、Node.js 下载 访问Node.js官网,点击下载Node.js 下载完成后即可在下载文件中查看安装包 二、安装 一)点击安装包开始安装,进入Weclcome界面点击Next 二)勾选同意协议,点击Next 三)根据需要选择安装路…

Open CASCADE学习|表面着色显示模型

模型表面着色具有如下作用: 视觉增强:通过为模型表面添加着色,可以使其更加生动和逼真,提高视觉体验。 信息区分:在复杂的模型中,不同的部分或组件可能需要通过不同的颜色来区分,以便更清晰地…

简介maven核心:pom项目对象模型

Maven Maven 意思是知识的积累者,最初是为了简化 Jakarta Turbine 项目中的构建过程。有几个项目,每个项目都有自己的 Ant 构建文件,它们都略有不同。JAR 被检入 CVS。我们想要一种标准的方式来构建项目,清楚地定义项目的组成&am…

Redis缓存预热-缓存穿透-缓存雪崩-缓存击穿

什么叫缓存穿透? 模拟一个场景: 前端用户发送请求获取数据,后端首先会在缓存Redis中查询,如果能查到数据,则直接返回.如果缓存中查不到数据,则要去数据库查询,如果数据库有,将数据保存到Redis缓存中并且返回用户数据.如果数据库没有则返回null; 这个缓存穿透的问题就是这个…

电力物联网系统设计

电力物联网系统设计 简介 在新能源行业从业多年,参与和负责过大大小小的的项目,发电侧、电网侧、用户侧系统都有过实际的项目经验,这些项目或多或少都有物联网采集方面的需求,本篇文章将会对电力行业物联网经验做一个总结分享。 …

【Spring知识体系】1.1 Java 注解(Annotation)

文章目录 1.1 注解(Annotation)1.1.1 什么是注解1.1.2 内置注解1.1.3 元注解(5种)1.14 自定义注解1.15 注解使用场景介绍※ 本文小结 1.1 注解(Annotation) 1.1.1 什么是注解 注解的定义:它提…

基于工业边缘网关的机械状态监测与故障诊断应用

机械设备工作于各种各样的环境,在运行过程中必然受到力、温度、摩擦等多种物理、化学作用,使机械设备状态和性能变化,进而产生“隐性故障”。随着机械设备“隐性故障”的长期累积,可能造成设备损伤损坏,甚至影响系统整体生产和运营&#xff0…

从零开始学习Diffusion Models: Sharon Zhou

How Diffusion Models Work 本文是 https://www.deeplearning.ai/short-courses/how-diffusion-models-work/ 这门课程的学习笔记。 文章目录 How Diffusion Models WorkWhat you’ll learn in this course [1] Intuition[2] SamplingSetting Things UpSamplingDemonstrate i…

帮管客 CRM jiliyu SQL注入漏洞复现

0x01 产品简介 帮管客CRM是一款集客户档案、销售记录、业务往来等功能于一体的客户管理系统。帮管客CRM客户管理系统,客户管理,从未如此简单,一个平台满足企业全方位的销售跟进、智能化服务管理、高效的沟通协同、图表化数据分析帮管客颠覆传统,重新定义企业管理系统。 …

乐得瑞的一拖二100W智能分配方案更加成熟

在快节奏的现代生活中,手机不仅是通讯工具,更是我们工作、学习和娱乐的得力助手。然而,手机的电量问题一直是困扰我们的难题。为了解决这一问题,市场上应运而生了一种名为“一拖二快充线”的充电设备。它集快速充电与独特设计于一…

ADS功分器模型含义

ADS功分器模型含义 文章目录 ADS功分器模型含义dbpolar和单个值polar和单个值polar和dbpolar单个值 S21和S31传输系数 S11和S22反射系数 Isolation 隔离度 Zref 端口的参考阻抗,默认为50Ω CheckPassivity 检查是否无源,默认是无源器件 目前根据仿真结…

Shopify支持哪些付款方式 Shopify绑定信用卡教程

一、Shopify 信用卡和借记卡支付:Shopify支持Visa、Mastercard、American Express等国际信用卡和借记卡付款。卖家可以通过选择Fomepay的447420来付款 二、Shopify绑定信用卡教程 要在Shopify上绑定国内信用卡,需要进行以下步骤。 1、办理一张visa信…