写一个python爬虫课设的数据分析
时间: 2023-06-12 13:02:36 浏览: 118
好的,以下是一个简单的Python爬虫课设数据分析:
首先,需要使用Python中的requests和BeautifulSoup库来爬取网站上的数据。这里以爬取豆瓣电影Top250为例:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://movie.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
```
接着,可以使用BeautifulSoup库来解析网页上的HTML结构,并提取出需要的数据:
```python
movies = soup.find_all('div', class_='hd')
titles = [movie.a.span.text for movie in movies]
```
以上代码中,我们使用find_all函数来找到网页中所有class属性为“hd”的div标签,然后使用列表推导式将每个电影的标题提取出来。
接下来,我们可以使用matplotlib库来绘制电影排名和评分的图表:
```python
import matplotlib.pyplot as plt
ranks = range(1, 251)
ratings = [float(movie.em.text) for movie in soup.find_all('div', class_='star')]
plt.plot(ranks, ratings)
plt.title('Douban Movie Top250')
plt.xlabel('Rank')
plt.ylabel('Rating')
plt.show()
```
这段代码会将电影排名作为x轴,评分作为y轴,绘制出一张折线图。
最后,我们可以将提取出的数据保存到CSV文件中:
```python
import csv
with open('douban_top250.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['Rank', 'Title', 'Rating'])
for rank, title, rating in zip(ranks, titles, ratings):
writer.writerow([rank, title, rating])
```
这段代码会创建一个名为“douban_top250.csv”的CSV文件,并将电影的排名、标题和评分写入该文件中。
阅读全文