用python爬取豆瓣TOP250电影信息,把电影信息放到一个列表中,再把列表通过pandas库放到excel中,在利用pyecharts库画图 把pandas统计结果
时间: 2024-04-02 17:32:04 浏览: 53
好的,这是一个比较复杂的问题,需要分几个步骤来实现:
1. 爬取豆瓣 TOP250 电影信息
我们可以使用 Python 的 requests 库和 BeautifulSoup 库来爬取网页信息。具体实现代码如下:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://movie.douban.com/top250'
movies = []
for i in range(10):
params = {'start': i * 25}
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, params=params, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
movie_list = soup.find(class_='grid_view').find_all('li')
for movie in movie_list:
title = movie.find(class_='title').text.strip()
rating = movie.find(class_='rating_num').text.strip()
comment = movie.find(class_='star').find_all('span')[3].text.strip()
year = movie.find(class_='bd').find_all('p')[1].text.strip().split('\n')[0].replace(' ', '').replace('\xa0','')
movies.append([title, rating, comment, year])
```
2. 将电影信息放到列表中
我们可以将爬取到的电影信息放到一个列表中,方便后续的处理。具体实现代码如下:
```python
import pandas as pd
movies_df = pd.DataFrame(movies, columns=['Title', 'Rating', 'Comment', 'Year'])
```
3. 将列表通过 pandas 库放到 Excel 中
我们可以使用 pandas 库将电影信息写入到 Excel 中。具体实现代码如下:
```python
movies_df.to_excel('movies.xlsx', index=False)
```
4. 利用 pyecharts 库画图
我们可以使用 pyecharts 库进行数据可视化。在本例中,我们可以根据年份统计电影数量并绘制柱状图。具体实现代码如下:
```python
from pyecharts.charts import Bar
from pyecharts import options as opts
year_count = movies_df.groupby('Year')['Title'].count()
bar = Bar(init_opts=opts.InitOpts(width='900px', height='500px'))
bar.add_xaxis(list(year_count.index))
bar.add_yaxis("", list(year_count.values))
bar.set_global_opts(title_opts=opts.TitleOpts(title="豆瓣TOP250电影年份分布"))
bar.render('movies_year.html')
```
上述代码将生成一个名为 `movies_year.html` 的 HTML 文件,我们可以在浏览器中打开该文件查看生成的柱状图。
以上就是实现的完整代码。
阅读全文