用python完成1、在网上下载《红楼梦》文档庚辰本 2、进行《红楼梦》中人物的出场统计。
时间: 2024-06-09 22:09:19 浏览: 157
好的,以下是具体的Python代码实现。
1. 下载《红楼梦》文档庚辰本
```python
import requests
# 下载《红楼梦》文档庚辰本
url = 'https://www.gutenberg.org/files/7340/7340-0.txt'
response = requests.get(url)
text = response.text
# 将文本保存到本地文件
with open('红楼梦.txt', 'w', encoding='utf-8') as f:
f.write(text)
```
2. 进行《红楼梦》中人物的出场统计
```python
import re
# 读取《红楼梦》文本
with open('红楼梦.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用正则表达式匹配人物名称
pattern = r'[\u4e00-\u9fa5]{2,5}(?:·[\u4e00-\u9fa5]{2,5})*'
name_list = re.findall(pattern, text)
# 统计人物出场次数
name_dict = {}
for name in name_list:
if name in name_dict:
name_dict[name] += 1
else:
name_dict[name] = 1
# 按照出场次数从高到低排序
name_list = sorted(name_dict.items(), key=lambda x: x[1], reverse=True)
# 输出前20个人物及其出场次数
for i in range(20):
print(name_list[i][0], name_list[i][1])
```
运行上述代码后,即可得到《红楼梦》中前20个出现次数最多的人物及其出场次数。
阅读全文