python统计诗人与作品
时间: 2023-06-25 10:06:00 浏览: 159
基于python的成绩统计系统
5星 · 资源好评率100%
可以使用Python中的爬虫和数据分析库来统计诗人与作品。
以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 爬取古诗文网的唐诗列表
url = 'https://www.gushiwen.org/gushi/tangshi.aspx'
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
tangshi_list = soup.find_all('div', class_='typecont')[1].find_all('a')
# 创建空的DataFrame
df = pd.DataFrame(columns=['poet', 'title', 'content'])
# 循环遍历唐诗列表,并爬取每首诗的内容
for tangshi in tangshi_list:
title = tangshi.text.strip()
href = tangshi['href']
html = requests.get(href).text
soup = BeautifulSoup(html, 'html.parser')
poet = soup.find('div', class_='cont').find_all('a')[1].text.strip()
content = '\n'.join([p.text.strip() for p in soup.find('div', class_='cont').find_all('p')])
df = df.append({'poet': poet, 'title': title, 'content': content}, ignore_index=True)
# 统计每个诗人的作品数量
poet_count = df.groupby('poet').size().sort_values(ascending=False)
print(poet_count)
```
这段代码会爬取古诗文网的唐诗列表,然后循环遍历每一首诗,爬取每首诗的内容,并将诗人、诗名和内容存储到一个DataFrame中。最后,使用Pandas的groupby方法统计每个诗人的作品数量,并按照数量降序排列。
阅读全文