爬虫:豆瓣top250+可视化图
要实现豆瓣电影TOP250的可视化图,你可以使用Python的requests库来获取数据,然后使用pandas和matplotlib进行数据处理和可视化。以下是一个简单的示例:
import requests
import pandas as pd
import matplotlib.pyplot as plt
# 获取豆瓣电影TOP250数据
url = 'https://movie.douban.com/top250'
r = requests.get(url)
# 解析HTML内容
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'lxml')
movies = soup.find_all('div', class_='info')
# 提取电影信息
data = []
for movie in movies:
rating = movie.find('div', class_='rating_num').get_text()
title = movie.find('span', class_='title').get_text()
data.append([rating, title])
# 将数据转化为DataFrame
df = pd.DataFrame(data, columns=['Rating', 'Title'])
df['Rating'] = df['Rating'].astype(float)
# 对数据进行排序
df.sort_values('Rating', inplace=True, ascending=False)
df.reset_index(inplace=True, drop=True)
# 绘制电影评分的直方图
plt.hist(df['Rating'], bins=25, color='green', edgecolor='black')
plt.xlabel('Rating')
plt.ylabel('Frequency')
plt.title('Distribution of Movie Ratings')
plt.xticks(range(0, 101, 10))
plt.show()
这段代码首先使用requests获取了豆瓣电影TOP250的页面内容,并使用BeautifulSoup进行解析。然后提取电影的评分和标题,并将其存储在DataFrame中。最后,使用matplotlib绘制了评分的直方图,展示了不同评分区间的电影数量。
评论已关闭