欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用python爬取古詩文網(wǎng)中各類古詩的方法

 更新時間:2024年03月07日 08:57:24   作者:王翊珩  
這篇文章主要介紹了利用python爬取古詩文網(wǎng)中各類古詩的方法,文中通過代碼示例給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

fetch-gushiwen

用途

可以拿去用于個人知識庫、知識圖譜的創(chuàng)建等其他學(xué)習(xí)用途。

使用

輸入古詩文網(wǎng)的鏈接,即可爬取該頁面所有詩歌的詩名,作者,朝代,內(nèi)容,譯文,注釋,賞析,創(chuàng)作背景。

輸出的json格式如下:

{'name': '行宮', 'author': '元稹', 'dynasty': '唐代', 'content': '寥落古行宮,宮花寂寞紅。白頭宮女在,閑坐說玄宗。', 'trans': '曾經(jīng)富麗堂皇的古行宮已是一片荒涼冷落,宮中艷麗的花兒在寂寞寥落中開放。幸存的幾個滿頭白發(fā)的宮女,閑坐無事只能談?wù)撝谳W事。', 'annotation': '寥(liáo)落:寂寞冷落。行宮:皇帝在京城之外的宮殿。這里指當(dāng)時東都洛陽的皇帝行宮上陽宮。宮花:行宮里的花。白頭宮女:據(jù)白居易《上陽白發(fā)人》,一些宮女天寶末年被“潛配”到上陽宮,在這冷宮里一閉四十多年,成了白發(fā)宮人。說:談?wù)?。玄宗:指唐玄宗?, 'appreciation': '元稹的這首《行宮》是一首抒發(fā)盛衰之感的詩,這首短小精悍的五絕具有深邃的意境,富有雋永的詩味,傾訴了宮女無窮的哀怨之情,寄托了詩人深沉的盛衰之感。詩人先寫環(huán)境。首句中“寥落”已點(diǎn)出行宮的空虛冷落,又著一“古”字,更顯其破舊之象。這樣的環(huán)境本身就暗示著昔盛今衰的變遷。而后以“宮花寂寞紅”續(xù)接,此處可見運(yùn)思縝密。嬌艷紅花與古舊行宮相映襯,更見行宮“寥落”,加強(qiáng)了時移世遷的盛衰之感。兩句景語,令人心無旁騖,只有沉沉的感傷。后兩句由景及人,寫宮女,“白頭”與第二句中的紅花相映襯。宮中花開如舊,而當(dāng)年花容月貌的宮女已變成了白發(fā)老婦。物是人非,此間包含著多少哀怨、多少凄涼便不言而喻了。末句“閑”字與上文“寂寞”相照應(yīng),寫出宮女們長年受冷落的孤寂與無奈。過去她們的一顰一笑、盛裝麗服只為取悅君王,而今再無緣見龍顏,她們還能做什么呢? 只能無聊地“閑”在冷宮。而這些宮女們所談的仍舊是玄宗盛世。這一方面表現(xiàn)了她們對往昔生活的追憶,另方面也證明了如今無可言說的空虛。比較之下,那種深沉的盛衰之感越發(fā)鮮明突出而具體了。這里,寥落古行宮中的白頭宮女,還是唐玄宗時代歷史的見證人。唐玄宗在其繼位后期,寵幸楊貴妃,終日沉溺在淫樂酒色之中,把政務(wù)全部委給奸相李林甫和楊國忠,朝綱紊亂,諂佞當(dāng)?shù)溃K于釀成安史之亂。亂后,玄宗被迫退位,赫赫不可一世的大唐王朝亦從此一蹶不振,日益走向下坡路。白居易在《長恨歌》里曾深致感慨說:“緩歌慢舞凝絲竹,盡日君王看不足。漁陽鼙鼓動地來,驚破霓裳羽衣曲。”四句詩,已形象地概括出玄宗昏憒好色與亡國致亂的歷史因由,其諷刺與揭露是十分深刻的。元稹這首短詩當(dāng)然不可能象白詩那樣鋪張揚(yáng)厲,極盡渲染之能事,他只能采取對照、暗示點(diǎn)染等方法,把這一段轟轟烈烈的歷史高度濃縮,加以典型化的處理,從而讓人回味咀嚼。寥落的古行宮,那在寂寞之中隨歲月更替而自生自落的宮花,那紅顏的少女變?yōu)榘装l(fā)老人,都深深地帶有時代盛衰遷移的痕跡。白頭宮女親歷開元、天寶之世,本身就是歷史的見證人,“閑坐說玄宗”的由治而亂。這本是詩篇主旨所在,也是詩人認(rèn)為應(yīng)引以為戒的地方,卻以貌似悠閑實(shí)則深沉的筆調(diào)加以表現(xiàn),語少意多,有無窮之味。二十個字,地點(diǎn)、時間、人物、動作,全都表現(xiàn)出來了,構(gòu)成了一幅非常生動的畫面。這個畫面觸發(fā)讀者聯(lián)翩的浮想:宮女們年輕時都是花容月貌,嬌姿艷質(zhì),這些美麗的宮女被禁閉在這冷落的古行宮中,成日寂寞無聊,看著宮花,花開花落,年復(fù)一年,青春消逝,紅顏憔悴,白發(fā)頻添,如此被摧殘,往事豈堪重新回顧!然而,她們被幽閉冷宮,與世隔絕,別無話題,卻只能回顧天寶時代玄宗遺事,此景此情,令人凄絕?!傲嚷洹?、“寂寞”、“閑坐”,既描繪當(dāng)時的情景,也反映詩人的傾向。凄涼的身世,哀怨的情懷,盛衰的感慨,二十個字描繪出那樣生動的畫面,表現(xiàn)出那樣深刻的思想。這首詩正是運(yùn)用以少總多的表現(xiàn)手法,語少意足,有無窮味。另一個表現(xiàn)手法是以樂景寫哀情。我國古典詩歌,其所寫景物,有時從對立面的角度反襯心理,利用憂思愁苦的心情同良辰美景氣氛之間的矛盾,以樂景寫哀情,卻能收到很好的藝術(shù)效果。這首詩也運(yùn)用了這一手法。詩所要表現(xiàn)的是凄涼哀怨的心境,但卻著意描繪紅艷的宮花。紅花一般是表現(xiàn)熱鬧場面,烘托歡樂情緒的,但在這里卻起了很重要的反襯作用:盛開的紅花和寥落的行宮相映襯,加強(qiáng)了時移世遷的盛衰之感;春天的紅花和宮女的白發(fā)相映襯,表現(xiàn)了紅顏易老的人生感慨;紅花美景與凄寂心境相映襯,突出了宮女被禁閉的哀怨情緒。紅花,在這里起了很大的作用。這都是利用好景致與惡心情的矛盾,來突出中心思想,即王夫之《姜齋詩話》所謂“以樂景寫哀”,一倍增其哀。白居易《上陽白發(fā)人》“宮鶯百囀愁厭聞,梁燕雙棲老休妒”,也可以說是以樂寫哀。不過白居易的寫法直接揭示了樂景寫哀情的矛盾,而元稹《行宮》則是以樂景作比較含蓄的反襯,顯得更有余味。這首絕句語言平實(shí),但很有概括力,精警動人,也很含蓄,給人以想象的天地,歷史滄桑之感盡在不言之中,寓意深刻,自來評價很高。王建的《宮詞》,白居易的《長恨歌》,元稹的《連昌宮詞》,都是長達(dá)千字左右的宏篇巨制,詳盡地描述了唐玄宗時代治亂興衰的歷史過程,感嘆興亡??偨Y(jié)教訓(xùn),內(nèi)容廣博而深刻。元稹這首小詩總共不過二十個字,能入選《唐詩三百首》,與這些長篇巨作比美,可謂短小精悍,字字珠璣。', 'background': '元稹生活在中唐年代,正值唐朝經(jīng)歷過安史之亂不久,國力的各個方面都在走下坡路之時。這首詩可能是他在唐憲宗元和四年(809)作于洛陽。'}

例如我要爬取唐詩三百首,先去古詩文網(wǎng)獲得唐詩三百首的網(wǎng)址鏈接:

在這里插入圖片描述

右側(cè)的古詩三百,宋詞三百,小學(xué)古詩等都可以爬取你只需要拿到鏈接就可以了。

運(yùn)行python代碼,結(jié)果如下:

在這里插入圖片描述

代碼結(jié)構(gòu)

import requests
import re
from bs4 import BeautifulSoup


def fetch_html(url):
    try:
        response = requests.get(url)
        response.raise_for_status()
        return response.text
    except requests.RequestException as e:
        print(f"Error fetching HTML content: {e}")
        return None


def 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_urls


def 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

聲明

本爬蟲代碼僅可用于個人學(xué)習(xí)用途,切勿用于任何商業(yè)用途?。?!

以上就是利用python爬取古詩文網(wǎng)中各類古詩的方法的詳細(xì)內(nèi)容,更多關(guān)于python爬取古詩文的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中類型關(guān)系和繼承關(guān)系實(shí)例詳解

    Python中類型關(guān)系和繼承關(guān)系實(shí)例詳解

    這篇文章主要介紹了Python中類型關(guān)系和繼承關(guān)系,較為詳細(xì)的分析了Python中類型關(guān)系和繼承關(guān)系的原理與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • 探究數(shù)組排序提升Python程序的循環(huán)的運(yùn)行效率的原因

    探究數(shù)組排序提升Python程序的循環(huán)的運(yùn)行效率的原因

    這篇文章主要介紹了探究數(shù)組排序提升Python程序的循環(huán)的運(yùn)行效率的原因,作者用代碼實(shí)踐了多個小片段來進(jìn)行對比解釋,需要的朋友可以參考下
    2015-04-04
  • python如何利用cv2.rectangle()繪制矩形框

    python如何利用cv2.rectangle()繪制矩形框

    cv2.rectangle這個函數(shù)的作用是在圖像上繪制一個簡單的矩形,下面這篇文章主要給大家介紹了關(guān)于python如何利用cv2.rectangle()繪制矩形框的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • 基于Python繪制個人足跡地圖

    基于Python繪制個人足跡地圖

    這篇文章主要介紹了基于Python繪制個人足跡地圖,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Python小實(shí)例混合使用turtle和tkinter讓小海龜互動起來

    Python小實(shí)例混合使用turtle和tkinter讓小海龜互動起來

    Tkinter模塊("Tk 接口")是Python的標(biāo)準(zhǔn)Tk GUI工具包的接口.Tk和Tkinter可以在大多數(shù)的Unix平臺下使用,同樣可以應(yīng)用在Windows和Macintosh系統(tǒng)里.Tk8.0的后續(xù)版本可以實(shí)現(xiàn)本地窗口風(fēng)格,并良好地運(yùn)行在絕大多數(shù)平臺中
    2021-10-10
  • Python實(shí)現(xiàn)光速定位并提取兩個文件的不同之處

    Python實(shí)現(xiàn)光速定位并提取兩個文件的不同之處

    如果你經(jīng)常與Excel或Word打交道,那么從兩份表格/文檔中找到不一樣的元素是一件讓人很頭疼的工作。本文就將以兩份真實(shí)的Excel/Word文件為例,講解如何使用Python光速對比并提取文件中的不同之處
    2022-08-08
  • PyCharm設(shè)置護(hù)眼背景色的方法

    PyCharm設(shè)置護(hù)眼背景色的方法

    今天小編就為大家分享一篇PyCharm設(shè)置護(hù)眼背景色的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Django使用Channels實(shí)現(xiàn)WebSocket的方法

    Django使用Channels實(shí)現(xiàn)WebSocket的方法

    WebSocket是一種在單個TCP連接上進(jìn)行全雙工通訊的協(xié)議。WebSocket允許服務(wù)端主動向客戶端推送數(shù)據(jù)。這篇文章主要介紹了Django使用Channels實(shí)現(xiàn)WebSocket,需要的朋友可以參考下
    2019-07-07
  • Python+fuzzywuzzy計(jì)算兩個字符串之間的相似度

    Python+fuzzywuzzy計(jì)算兩個字符串之間的相似度

    fuzzywuzzy?可以計(jì)算兩個字符串之間的相似度,它依據(jù)?Levenshtein?Distance?算法來進(jìn)行計(jì)算,該算法又叫?Edit?Distance?算法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-09-09
  • windows下 兼容Python2和Python3的解決方法

    windows下 兼容Python2和Python3的解決方法

    這篇文章主要介紹了windows下 兼容Python2和Python3的解決方法,需要的朋友可以參考下
    2018-12-12

最新評論