python爬取豆瓣电影top250,并将爬取的数据进行图形化统计
时间: 2023-09-01 22:13:45 浏览: 112
好的,这是一个比较常见的Python爬虫项目,下面是一个简单的实现步骤:
1. 分析网页结构,找到电影信息所在的HTML标签和属性。
2. 使用Python的requests库发送HTTP请求,获取网页HTML代码。
3. 使用BeautifulSoup库解析HTML代码,提取需要的电影信息。
4. 将提取的数据存储到本地文件或数据库中。
5. 使用数据可视化库,比如matplotlib,对数据进行图形化展示。
下面是一个简单的代码示例:
```python
import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
# 发送HTTP请求,获取HTML代码
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)
html = response.text
# 使用BeautifulSoup解析HTML代码,提取电影信息
soup = BeautifulSoup(html, "html.parser")
movies = soup.find_all("div", class_="info")
data = []
for movie in movies:
title = movie.find("span", class_="title").text
rating = movie.find("span", class_="rating_num").text
data.append((title, rating))
# 将数据存储到本地文件
with open("movies.txt", "w", encoding="utf-8") as f:
for title, rating in data:
f.write(title + "," + rating + "\n")
# 对数据进行图形化展示
ratings = [float(rating) for title, rating in data]
plt.hist(ratings, bins=10)
plt.xlabel("Rating")
plt.ylabel("Number of Movies")
plt.title("Distribution of Movie Ratings")
plt.show()
```
这个代码示例中,我们使用requests库发送HTTP请求,使用BeautifulSoup库解析HTML代码,提取电影信息,并将数据存储到本地文件中。然后,我们使用matplotlib库绘制直方图,对电影评分进行图形化展示。
阅读全文