python可视化电影信息总代码
时间: 2023-07-22 07:58:53 浏览: 43
当您成功爬取电影信息并将其保存到列表中后,可以使用Python的各种可视化库来处理和展示这些数据。以下是一个完整的示例代码,使用Matplotlib和Seaborn库进行电影信息的可视化处理:
```python
import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
import seaborn as sns
# 爬取电影信息
def crawl_movie_info():
url = 'https://movie.douban.com/top250'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.find_all('div', class_='hd')
titles = []
ratings = []
for movie in movies:
title = movie.a.span.text.strip()
link = movie.a['href']
rating = movie.find_next_sibling('div', class_='star').find('span', class_='rating_num').text.strip()
titles.append(title)
ratings.append(float(rating))
return titles, ratings
# 可视化处理
def visualize_movie_info(titles, ratings):
# 绘制柱状图
plt.figure(figsize=(10, 6)) # 设置图形大小
# 设置x轴和y轴数据
x = titles
y = ratings
# 绘制柱状图
plt.bar(x, y)
# 添加标签和标题
plt.xlabel('Movie Titles')
plt.ylabel('Ratings')
plt.title('Movie Ratings')
# 旋转x轴标签,以防止重叠
plt.xticks(rotation=90)
# 显示图形
plt.show()
# 绘制箱线图
plt.figure(figsize=(10, 6)) # 设置图形大小
sns.boxplot(x=titles, y=ratings)
plt.xlabel('Movie Titles')
plt.ylabel('Ratings')
plt.title('Movie Ratings')
plt.xticks(rotation=90)
plt.show()
# 绘制散点图
plt.figure(figsize=(10, 6)) # 设置图形大小
sns.scatterplot(x=titles, y=ratings)
plt.xlabel('Movie Titles')
plt.ylabel('Ratings')
plt.title('Movie Ratings')
plt.xticks(rotation=90)
plt.show()
# 主函数
def main():
titles, ratings = crawl_movie_info()
visualize_movie_info(titles, ratings)
if __name__ == '__main__':
main()
```
这段代码首先定义了一个函数`crawl_movie_info()`用于爬取电影信息,并返回电影的标题和评分数据。然后定义了一个函数`visualize_movie_info()`用于使用Matplotlib和Seaborn库进行可视化处理,绘制柱状图、箱线图和散点图。最后在主函数`main()`中调用这两个函数来执行爬取和可视化处理操作。
将以上代码保存为一个Python文件并运行,即可爬取电影信息并对其进行可视化处理。希望这个例子能帮助您进行电影信息的可视化处理!