首页 > 编程知识 正文

Python爬取豆瓣电影并分析

时间:2023-11-19 04:39:11 阅读:293149 作者:LSAN

本文将从以下几个方面介绍如何使用Python爬取豆瓣电影并对电影信息进行分析:

一、获取豆瓣电影信息

首先,我们需要使用Python爬虫技术获取豆瓣电影的基本信息。

下面是获取“豆瓣电影Top250”上电影信息的示例代码:

import requests
from bs4 import BeautifulSoup

url = 'https://movie.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.select('.info')
for movie in movies:
    title = movie.select_one('.title').text
    director = movie.select('.bd p')[0].text.split('导演: ')[-1].split('主演')[0].strip()
    actors = movie.select('.bd p')[0].text.split('主演: ')[-1].split('n')[0].strip()
    year = movie.select('.bd p')[1].text.split(' / ')[-2]
    rating = movie.select_one('.rating_num').text
    print(title, director, actors, year, rating)

以上代码使用requests库发送请求, BeautifulSoup库进行解析,通过CSS选择器获取电影信息,并将电影的标题、导演、主演、年份、评分等基本信息打印出来。

二、分析豆瓣电影数据

接下来,我们可以对豆瓣电影的数据进行分析,例如,绘制豆瓣电影Top250的电影排名与评分关系图。

使用matplotlib库对电影的排名与评分关系进行可视化展示。下面是示例代码:

import matplotlib.pyplot as plt

url = 'https://movie.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.select('.info')
ratings = []
for movie in movies:
    rating = float(movie.select_one('.rating_num').text)
    ratings.append(rating)
x = list(range(1, 251))
plt.plot(x, ratings)
plt.xlabel('排名')
plt.ylabel('评分')
plt.show()

以上代码使用matplotlib库对获取的电影评分进行可视化展示,横轴表示排名,纵轴表示评分。

三、对电影类型进行分析

除了对电影的评分进行分析,我们还可以对电影的类型进行分析。下面是实现“豆瓣电影Top250中前十个高评分电影的类型统计”的示例代码:

url = 'https://movie.douban.com/top250'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
movies = soup.select('.info')
genres = {}
for movie in movies[:10]:
    url = movie.select_one('.title a')['href']
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    tags = soup.select('.tags-body a')
    for tag in tags:
        genre = tag.text
        genres[genre] = genres.get(genre, 0) + 1
genres = sorted(genres.items(), key=lambda x: x[1], reverse=True)
print(genres)

以上代码首先获取豆瓣电影Top250中前十个高评分电影的链接,然后对各个电影的页面进行解析,获得电影的类型信息。通过字典进行计数统计,最后对电影类型进行排序并打印出来。

四、结语

本文主要介绍了如何使用Python爬虫技术获取豆瓣电影信息,并对电影排名、评分以及类型等方面进行分析。

当然,豆瓣电影只是Python爬虫应用的冰山一角,我们还可以应用Python爬虫技术获取更加丰富的数据,并通过数据分析来挖掘更多有用的信息。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。