引言

古人云:“不学诗,无以言”。

意思是:不读《诗经》,连话都不会说了。

《诗经》是中国古代诗歌的开始,也是最早的一部诗歌总集。它的伟大并非内容多艰深,而是生命的百般形态、生活的琐碎日常,万事万物皆可入诗,充满了人间烟火气。草木鸟兽虫鱼、饮食男女、七情六欲……

关雎
佚名 〔先秦〕

关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之。

这一首《关睢》是初中语文课上学的,大多数中国人都能熟练背出前两句吧。诗经中还有很多很多关于爱情、吃穿、礼乐、理想、情感等方面的美句,现在我想用爬虫生成一本《诗经》电子书,好好学习学习。准备做一个“有文化”的程序人,以此向1024节致敬!

生成目录

先来做一个诗经目录,简单地用requests获取get网页,再用BeautifulSoup分析。获取诗经风雅颂全部章节,并获取所有能下载的链接(不全因部分诗歌已佚)。代码如下:

from requests import get
from bs4 import BeautifulSoup as bswebSite = 'https://*********'def directory():global UrlsUrls = []url1 = webSite + '/gushi/shijing.aspx'text = get(url1)text.encoding='uft-8'soup = bs(text.text,'html.parser')Tags = soup.find_all('div',class_='typecont')for i,tag in enumerate(Tags):aTags = tag.find("strong")print(f'\nNo.{i+1}:《{aTags.text}》\n')bTags = tag.find_all("a")try:Title = [(t.text,t['href']) for t in bTags]except:Title = [(t.text,'None') for t in bTags]for i,t in enumerate(Title):if t[1]!='None':Urls.append(t[1])print(f'{t[0]:<8}',end='\t' if (i+1)%3 else '\n')if i%3!=2: print()print('\n'+'='*40)if __name__=='__main__':directory()

代码中网址已隐去,微信搜索并关注“PythonTogether”公众号(或者扫码文末的二维码),关注后回复“诗经”获取。运行结果如下:

No.1:《国风·周南》

关雎          葛覃          卷耳      
樛木          螽斯          桃夭      
兔罝          芣苢          汉广      
汝坟          麟之趾

========================================

No.2:《国风·召南》

鹊巢          采蘩          草虫      
采蘋          甘棠          行露      
羔羊          殷其雷         摽有梅     
小星          江有汜         野有死麕    
何彼襛矣        驺虞

========================================

No.3:《国风·邶风》

柏舟          绿衣          燕燕      
日月          终风          击鼓      
凯风          雄雉          匏有苦叶    
谷风          式微          旄丘      
简兮          泉水          北门      
北风          静女          新台      
二子乘舟

========================================

No.4:《国风·鄘风》

柏舟          墙有茨         君子偕老    
桑中          鹑之奔奔        定之方中    
蝃蝀          相鼠          干旄      
载驰

========================================

No.5:《国风·卫风》

淇奥          考槃          硕人      
氓           竹竿          芄兰      
河广          伯兮          有狐      
木瓜

========================================

No.6:《国风·王风》

黍离          君子于役        君子阳阳    
国风·王风·扬之水    中谷有蓷        兔爰      
葛藟          采葛          大车      
丘中有麻

========================================

No.7:《国风·郑风》

缁衣          将仲子         叔于田     
大叔于田        清人          羔裘      
遵大路         女曰鸡鸣        有女同车    
山有扶苏        萚兮          狡童      
褰裳          丰           东门之墠    
风雨          子衿          郑风·扬之水  
出其东门        野有蔓草        溱洧

========================================

No.8:《国风·齐风》

鸡鸣          还           著       
东方之日        东方未明        南山      
甫田          卢令          敝笱      
载驱          猗嗟

========================================

No.9:《国风·魏风》

葛屦          汾沮洳         园有桃     
陟岵          十亩之间        伐檀      
硕鼠

========================================

No.10:《国风·唐风》

蟋蟀          山有枢         扬之水     
椒聊          绸缪          杕杜      
诗经·羔裘       鸨羽          无衣      
有杕之杜        葛生          采苓

========================================

No.11:《国风·秦风》

车邻          驷驖          小戎      
蒹葭          终南          黄鸟      
晨风          秦风·无衣       渭阳      
权舆

========================================

No.12:《国风·陈风》

宛丘          东门之枌        衡门      
东门之池        东门之杨        墓门      
防有鹊巢        月出          株林      
泽陂

========================================

No.13:《国风·桧风》

羔裘          素冠          隰有苌楚    
匪风

========================================

No.14:《国风·曹风》

蜉蝣          候人          鳲鸠      
下泉

========================================

No.15:《国风·豳风》

七月          鸱鸮          东山      
破斧          伐柯          九罭      
狼跋

========================================

No.16:《小雅·鹿鸣之什》

鹿鸣          四牡          皇皇者华    
常棣          伐木          天保      
采薇          出车          小雅·杕杜   
鱼丽          南陔(今佚)      白华(今佚)  
华黍(今佚)

========================================

No.17:《小雅·南有嘉鱼之什》

南有嘉鱼        南山有台        由庚(今佚)  
崇丘(今佚)      由仪(今佚)      蓼萧      
湛露          彤弓          菁菁者莪    
六月          采芑          车攻      
吉日

========================================

No.18:《小雅·鸿雁之什》

鸿雁          庭燎          沔水      
鹤鸣          祈父          白驹      
小雅·黄鸟       我行其野        斯干      
无羊

========================================

No.19:《小雅·节南山之什》

节南山         正月          十月之交    
雨无正         小旻          小宛      
小弁          巧言          何人斯     
巷伯

========================================

No.20:《小雅·谷风之什》

谷风          蓼莪          大东      
四月          北山          无将大车    
小明          鼓钟          楚茨      
信南山

========================================

No.21:《小雅·甫田之什》

甫田          大田          瞻彼洛矣    
裳裳者华        桑扈          鸳鸯      
頍弁          车舝          青蝇      
宾之初筵

========================================

No.22:《小雅·鱼藻之什》

鱼藻          采菽          角弓      
菀柳          都人士         采绿      
黍苗          隰桑          白华      
绵蛮          瓠叶          渐渐之石    
苕之华         何草不黄

========================================

No.23:《大雅·文王之什》

文王          大明          绵       
棫朴          旱麓          思齐      
皇矣          灵台          下武      
文王有声

========================================

No.24:《大雅·生民之什》

生民          行苇          既醉      
凫鹥          大雅·假乐       公刘      
泂酌          卷阿          民劳      

========================================

No.25:《大雅·荡之什》

荡           抑           桑柔      
云汉          崧高          烝民      
韩奕          江汉          常武      
瞻卬          召旻

========================================

No.26:《周颂·清庙之什》

清庙          维天之命        维清      
烈文          天作          昊天有成命   
我将          时迈          执竞      
思文

========================================

No.27:《周颂·臣工之什》

臣工          噫嘻          振鹭      
丰年          有瞽          潜       
雝           载见          有客      

========================================

No.28:《周颂·闵予小子之什》

闵予小子        访落          敬之      
小毖          载芟          良耜      
丝衣          酌           桓       
赉           般

========================================

No.29:《鲁颂·駉之什》

駉           有駜          泮水      
閟宫

========================================

No.30:《商颂》

那           烈祖          玄鸟      
长发          殷武

========================================

爬取正文生成文件

抓取的内容整理后直接写入文本文件,网址同样已隐去。代码如下:

from requests import get
from bs4 import BeautifulSoup as bs
from time import perf_counterwebSite = 'https://*********'def directory():global UrlsUrls = []url1 = webSite + '/gushi/shijing.aspx'text = get(url1)text.encoding='uft-8'soup = bs(text.text,'html.parser')Tags = soup.find_all('div',class_='typecont')output = '《诗经》风雅颂.txt'with open(output,'w',encoding='utf-8') as tofile:print('《诗经》总目录\n',file=tofile)for i,tag in enumerate(Tags):aTags = tag.find("strong")print(f'\nNo.{i+1}:《{aTags.text}》\n',file=tofile)bTags = tag.find_all("a")try:Title = [(t.text,t['href']) for t in bTags]except:Title = [(t.text,'None') for t in bTags]for i,t in enumerate(Title):if t[1]!='None':Urls.append(t[1])print(f'{t[0]:<8}',end='\t' if (i+1)%3 else '\n',file=tofile)if i%3!=2: print(file=tofile)print('\n'+'='*40,file=tofile)def content():output = '《诗经》风雅颂.txt'with open(output,'a',encoding='utf-8') as tofile:print('\n《诗经》正文\n',file=tofile)for i,url in enumerate(Urls):print(f'\nNo.{i+1}',file=tofile)url2 = webSite + urltext = get(url2)text.encoding='uft-8'soup = bs(text.text,'html.parser')Tags = soup.find('div',id="sonsyuanwen")text = str(Tags).replace('<br/>','\n')text = text.replace('完善','').strip()text = bs(text,'html.parser').textwhile '\n\n' in text:text = text.replace('\n\n','\n')print(text,file=tofile)print('-'*40,file=tofile)if __name__=='__main__':directory()content()print(f'\n程序运行耗时(s):{perf_counter()}\n')

程序执行后大约50秒,一本电子书《诗经》风雅颂.txt 就生成后了,可以拷贝进kindle设备慢慢看吧。其实网站还有更精彩的诗歌赏析,这些内容有​“展开阅读全文”​的缩略,这个留待以后再想办法解决。(本篇完)

学习交流 Python 的群和公众号:

 http://qr01.cn/FHYKEa

《诗经》那么美,读不懂多浪费|爬取一本好好学习,准备做一个“有文化”的程序人相关推荐

  1. 网络爬虫---爬取MOOC课程信息并做一个可视化

    文章目录 爬取MOOC课程信息并做一个可视化 一.目标 二.知识要求 三.思路分析 1.观察网页源代码,看里面是否有关于具体课程的信息 2.抓包分析与自动翻页 3.用PhantonJS构造模拟浏览器 ...

  2. java 爬取百度云盘,python爬虫爬取百度网盘-怎么做一个百度网盘搜索引擎

    因为要做去转盘网,所以一定要爬取网盘资源,本来想自己写一个爬虫挺不容易的,不想分享出来,但最后还是决定了拿给大家一起看吧,毕竟有交流才有进步,有兴趣的朋友也可以看看我写的其他日志或者关注我,会发现去转 ...

  3. python爬虫教学百度云_python爬虫爬取百度网盘-怎么做一个百度网盘搜索引擎

    因为要做去转盘网,所以一定要爬取网盘资源,本来想自己写一个爬虫挺不容易的,不想分享出来,但最后还是决定了拿给大家一起看吧,毕竟有交流才有进步,有兴趣的朋友也可以看看我写的其他日志或者关注我,会发现去转 ...

  4. 【Python爬虫】2022年数学建模美赛B题数据爬取

    2022年数学建模美赛B题数据爬取 背景 2022年的美赛刚刚落下帷幕,该题的一个主要难点在于数据的获取.很多人无法找到有效的数据,或者是无法获取数据. 比如找到了如下米德湖的水文数据,但是发现并没有 ...

  5. Python爬虫——使用正则表达式爬取一本喜欢的小说

    使用正则表达式爬取一本喜欢的小说 这个爬虫的案例是对正则表达式的运用,通过这个案例,我们可以对正则表达式有更深入的了解. 1. 信息来源: 努努书坊.爬取的小说:三国演义.链接为:https://ww ...

  6. 爬取漫画网址的并生产一个在线阅读器

    文章目录 爬取漫画网址的并生产一个在线阅读器 代码分析 实现代码 爬取漫画网址的并生产一个在线阅读器 代码分析 如果要做一个爬虫的话,一定要会看网页的源代码,看有没有自己想要的数据, http://m ...

  7. 如何用python爬取数据_如何使用python爬取知乎数据并做简单分析

    原标题:如何使用python爬取知乎数据并做简单分析 一.使用的技术栈: 爬虫:python27 +requests+json+bs4+time 分析工具: ELK套件 开发工具:pycharm 数据 ...

  8. 美图 html模板,httpclient爬取美图

    httpclient批量爬取性感美图,完整源码. 资源下载此资源下载价格为2D币,请先登录 资源文件列表 GetGoodPic/.classpath , 1215 GetGoodPic/.mymeta ...

  9. Python爬虫——selenium爬取网易云评论并做词云

    大家好!我是霖hero 到点了上号网易云,很多人喜欢到夜深人静的时候,在网易云听音乐发表评论,正所谓:自古评论出人才,千古绝句随口来,奈何本人没文化,一句卧槽行天下!评论区集结各路大神,今天我们来爬取 ...

  10. go爬取json_Python爬取百度文库学习

    首先先分享下github这篇文章吧,参考了部分代码,但我想做一个很详细的解读. 新版百度文库爬虫 · Jack-Cherish/python-spider@3c5480d​github.com 首先, ...

最新文章

  1. AC日记——传染病控制 洛谷 P1041
  2. python基础学习语法和函数
  3. Android的进程优先级
  4. Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
  5. PHP 字符串与数组间的相互转化
  6. 中判断字符串是否为空_java中的数字以及如何判断字符串是不是数字
  7. NXP(I.MX6uLL)DDR3实验——DDR3初始化、校准、超频测试
  8. 第三方开源 jar 包推荐
  9. spring 安全模块在jsp中误用引起的问题
  10. linux docker状态,Linux之Docker
  11. 8s 配置session保持_分布式session共享解决方案
  12. samba服务器的设置
  13. bochs运行xp_bochs xp 镜像下载|bochs xp精简版下载_ - 极光下载站
  14. HotSpot虚拟机的垃圾收集算法实现
  15. sass @media
  16. 《管理学》第七章 激励
  17. html5人脸拼图,力荐10大拼图App 玩转拼图分享美好生活
  18. Tomcat8如何配置项目appBase和docBase
  19. SA8155P QCOM 车载系统介绍
  20. CQF平衡树——SBT论文——Size Balanced Tree

热门文章

  1. openCV中sobel边缘增强
  2. U3D_Shader编程(第一篇:快速入门篇)
  3. ubuntu系统启动项的修改
  4. 关于非诚勿扰百度专场
  5. qq游戏大厅中解析不安装apk的研究
  6. Fireball真相:一个菜鸟级流氓软件竟让老外如临大敌
  7. lookup基础用法
  8. 邮件安全防护之反垃圾邮件开源软件ASSP
  9. 网络错误0x80070005,访问被拒绝[亲测解决]
  10. python安装失败0x80070005_win10系统运行提示0x80070005错误的解决办法