使用requests库、beautifuisoup4库爬取豆瓣前250名电影的电影名称,通过openpyxl库存储到excel文件中,并选择合适的图表将其呈现。
时间: 2024-01-21 12:16:22 浏览: 21
好的,我可以为您提供一个Python程序实现这个功能。
首先,我们需要安装 `requests`、`beautifulsoup4` 和 `openpyxl` 库。您可以使用以下命令来安装它们:
```
pip install requests beautifulsoup4 openpyxl
```
接下来,让我们来编写代码实现爬取豆瓣前250名电影的电影名称,并将其存储到 Excel 文件中。请将以下代码保存为 `douban_top250.py` 文件:
```python
import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference
# 请求豆瓣Top250页面
url = 'https://movie.douban.com/top250'
response = requests.get(url)
# 解析页面内容
soup = BeautifulSoup(response.text, 'html.parser')
movie_list = soup.find_all('div', class_='hd')
# 创建Excel文件
wb = Workbook()
ws = wb.active
ws.title = '豆瓣Top250电影'
# 写入表头
ws.append(['电影名称'])
# 循环遍历电影列表并写入Excel文件
for movie in movie_list:
title = movie.a.span.text.strip()
ws.append([title])
# 创建柱形图
values = Reference(ws, min_col=2, min_row=1, max_row=250)
chart = BarChart()
chart.add_data(values)
chart.title = '豆瓣Top250电影'
chart.x_axis.title = '电影名称'
chart.y_axis.title = '评分'
ws.add_chart(chart, 'D1')
# 保存Excel文件
wb.save('douban_top250.xlsx')
print('豆瓣Top250电影已保存到douban_top250.xlsx文件中!')
```
让我们来逐行分析一下这个程序:
- 第 5 行:我们请求豆瓣 Top250 页面并获取响应内容。
- 第 8 行:通过 `BeautifulSoup` 将响应内容解析为 `soup` 对象。
- 第 9 行:我们找到页面中所有电影的标题,存储在 `movie_list` 变量中。
- 第 12 行:我们创建一个 Excel 文件,并添加一个名为 `豆瓣Top250电影` 的工作表。
- 第 15 行:我们写入 Excel 文件的表头。
- 第 18-21 行:我们循环遍历 `movie_list` 列表,提取每个电影的标题,并将其写入 Excel 文件。
- 第 25-32 行:我们创建一个柱形图,并将其添加到 `ws` 工作表中。
- 第 35 行:我们保存 Excel 文件,并打印一条消息以指示程序已完成。
现在,您可以在终端中运行以下命令来运行程序:
```
python douban_top250.py
```
程序将会爬取豆瓣前250名电影的电影名称,并将其存储到 `douban_top250.xlsx` 文件中。同时,程序还会创建一个柱形图,用于可视化这些电影的评分数据。
希望这个程序对您有所帮助!