利用python爬取豆瓣电影好评率top前10的电影名并生成HTML界面的可视化柱状图
时间: 2023-12-18 21:04:48 浏览: 85
好的,我可以帮你解决这个问题。首先,我们需要安装一些必要的库,包括requests、beautifulsoup4和pyecharts。你可以在命令行中输入以下命令进行安装:
```
pip install requests beautifulsoup4 pyecharts
```
接下来,我们可以编写Python代码来爬取豆瓣电影好评率top前10的电影名,并生成HTML界面的可视化柱状图。代码如下:
```python
import requests
from bs4 import BeautifulSoup
from pyecharts.charts import Bar
from pyecharts import options as opts
url = 'https://movie.douban.com/chart'
# 发送HTTP请求
res = requests.get(url)
res.encoding = 'utf-8'
# 解析HTML页面
soup = BeautifulSoup(res.text, 'html.parser')
list = soup.find_all('div', class_='pl2')
# 获取电影名和评分
data = []
for item in list[:10]:
name = item.find('a').text.strip()
rating = item.find('span', class_='rating_nums').text.strip()
data.append((name, rating))
# 生成可视化图表
bar = (
Bar()
.add_xaxis([x[0] for x in data])
.add_yaxis("豆瓣评分", [float(x[1]) for x in data])
.set_global_opts(title_opts=opts.TitleOpts(title="豆瓣电影好评率top前10"))
)
# 保存为HTML文件并在浏览器中打开
bar.render('douban_movie_top10.html')
```
代码中,我们首先发送一个HTTP请求获取豆瓣电影排行榜页面的HTML代码,然后使用BeautifulSoup库解析页面中的电影名和评分数据。接着,使用pyecharts库生成柱状图,并将图表保存为HTML文件。最后,我们可以在浏览器中打开HTML文件来查看可视化图表。
注意:由于豆瓣网站的页面结构可能会发生变化,所以以上代码仅供参考,具体实现可能需要根据实际情况进行调整。
阅读全文