用python爬取起点中文网月票榜数据并生成可视化图
时间: 2024-03-30 15:34:55 浏览: 173
好的,这里提供一个简单的Python爬取起点中文网月票榜数据并生成可视化图的示例代码,需要使用到requests、beautifulsoup4和matplotlib库。
首先,我们需要发送HTTP请求获取月票榜页面的HTML源码,然后使用beautifulsoup4库解析HTML源码,提取有用的数据。代码如下:
```python
import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
# 发送HTTP请求,获取月票榜页面的HTML源码
url = 'https://www.qidian.com/rank/yuepiao'
response = requests.get(url)
html = response.text
# 使用beautifulsoup4库解析HTML源码,提取有用的数据
soup = BeautifulSoup(html, 'html.parser')
book_list = soup.select('.book-mid-info')
titles = []
month_tickets = []
for book in book_list:
title = book.select_one('.title').text.strip()
titles.append(title)
month_ticket = int(book.select_one('.month-ticket').text.strip())
month_tickets.append(month_ticket)
```
接下来,我们可以使用matplotlib库将月票榜数据可视化,绘制条形图或饼图等不同类型的图表。代码如下:
```python
# 使用matplotlib库将月票榜数据可视化,绘制条形图
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文显示
plt.bar(range(len(titles)), month_tickets)
plt.xticks(range(len(titles)), titles, rotation=90)
plt.title('起点中文网月票榜')
plt.xlabel('小说名称')
plt.ylabel('月票数')
plt.show()
# 使用matplotlib库将月票榜数据可视化,绘制饼图
plt.pie(month_tickets, labels=titles, autopct='%1.1f%%')
plt.title('起点中文网月票榜')
plt.show()
```
通过这段代码,我们可以爬取起点中文网月票榜数据,并将数据可视化为条形图或饼图,更加直观地了解小说的排名情况和月票数。
阅读全文