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