《诗经》那么美,读不懂多浪费|爬取一本好好学习,准备做一个“有文化”的程序人
引言
古人云:“不学诗,无以言”。
意思是:不读《诗经》,连话都不会说了。
《诗经》是中国古代诗歌的开始,也是最早的一部诗歌总集。它的伟大并非内容多艰深,而是生命的百般形态、生活的琐碎日常,万事万物皆可入诗,充满了人间烟火气。草木鸟兽虫鱼、饮食男女、七情六欲……
关雎
佚名 〔先秦〕关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之。
这一首《关睢》是初中语文课上学的,大多数中国人都能熟练背出前两句吧。诗经中还有很多很多关于爱情、吃穿、礼乐、理想、情感等方面的美句,现在我想用爬虫生成一本《诗经》电子书,好好学习学习。准备做一个“有文化”的程序人,以此向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
《诗经》那么美,读不懂多浪费|爬取一本好好学习,准备做一个“有文化”的程序人相关推荐
- 网络爬虫---爬取MOOC课程信息并做一个可视化
文章目录 爬取MOOC课程信息并做一个可视化 一.目标 二.知识要求 三.思路分析 1.观察网页源代码,看里面是否有关于具体课程的信息 2.抓包分析与自动翻页 3.用PhantonJS构造模拟浏览器 ...
- java 爬取百度云盘,python爬虫爬取百度网盘-怎么做一个百度网盘搜索引擎
因为要做去转盘网,所以一定要爬取网盘资源,本来想自己写一个爬虫挺不容易的,不想分享出来,但最后还是决定了拿给大家一起看吧,毕竟有交流才有进步,有兴趣的朋友也可以看看我写的其他日志或者关注我,会发现去转 ...
- python爬虫教学百度云_python爬虫爬取百度网盘-怎么做一个百度网盘搜索引擎
因为要做去转盘网,所以一定要爬取网盘资源,本来想自己写一个爬虫挺不容易的,不想分享出来,但最后还是决定了拿给大家一起看吧,毕竟有交流才有进步,有兴趣的朋友也可以看看我写的其他日志或者关注我,会发现去转 ...
- 【Python爬虫】2022年数学建模美赛B题数据爬取
2022年数学建模美赛B题数据爬取 背景 2022年的美赛刚刚落下帷幕,该题的一个主要难点在于数据的获取.很多人无法找到有效的数据,或者是无法获取数据. 比如找到了如下米德湖的水文数据,但是发现并没有 ...
- Python爬虫——使用正则表达式爬取一本喜欢的小说
使用正则表达式爬取一本喜欢的小说 这个爬虫的案例是对正则表达式的运用,通过这个案例,我们可以对正则表达式有更深入的了解. 1. 信息来源: 努努书坊.爬取的小说:三国演义.链接为:https://ww ...
- 爬取漫画网址的并生产一个在线阅读器
文章目录 爬取漫画网址的并生产一个在线阅读器 代码分析 实现代码 爬取漫画网址的并生产一个在线阅读器 代码分析 如果要做一个爬虫的话,一定要会看网页的源代码,看有没有自己想要的数据, http://m ...
- 如何用python爬取数据_如何使用python爬取知乎数据并做简单分析
原标题:如何使用python爬取知乎数据并做简单分析 一.使用的技术栈: 爬虫:python27 +requests+json+bs4+time 分析工具: ELK套件 开发工具:pycharm 数据 ...
- 美图 html模板,httpclient爬取美图
httpclient批量爬取性感美图,完整源码. 资源下载此资源下载价格为2D币,请先登录 资源文件列表 GetGoodPic/.classpath , 1215 GetGoodPic/.mymeta ...
- Python爬虫——selenium爬取网易云评论并做词云
大家好!我是霖hero 到点了上号网易云,很多人喜欢到夜深人静的时候,在网易云听音乐发表评论,正所谓:自古评论出人才,千古绝句随口来,奈何本人没文化,一句卧槽行天下!评论区集结各路大神,今天我们来爬取 ...
- go爬取json_Python爬取百度文库学习
首先先分享下github这篇文章吧,参考了部分代码,但我想做一个很详细的解读. 新版百度文库爬虫 · Jack-Cherish/python-spider@3c5480dgithub.com 首先, ...
最新文章
- AC日记——传染病控制 洛谷 P1041
- python基础学习语法和函数
- Android的进程优先级
- Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
- PHP 字符串与数组间的相互转化
- 中判断字符串是否为空_java中的数字以及如何判断字符串是不是数字
- NXP(I.MX6uLL)DDR3实验——DDR3初始化、校准、超频测试
- 第三方开源 jar 包推荐
- spring 安全模块在jsp中误用引起的问题
- linux docker状态,Linux之Docker
- 8s 配置session保持_分布式session共享解决方案
- samba服务器的设置
- bochs运行xp_bochs xp 镜像下载|bochs xp精简版下载_ - 极光下载站
- HotSpot虚拟机的垃圾收集算法实现
- sass @media
- 《管理学》第七章 激励
- html5人脸拼图,力荐10大拼图App 玩转拼图分享美好生活
- Tomcat8如何配置项目appBase和docBase
- SA8155P QCOM 车载系统介绍
- CQF平衡树——SBT论文——Size Balanced Tree