欢迎访问宙启技术站
智能推送

用Python创建一个简易的IMDb电影评分应用

发布时间:2023-12-11 08:56:51

IMDb电影评分应用是一个简单的Python程序,它允许用户查看电影的评分,并且可以根据用户的输入对电影进行评分。

首先,我们需要安装requests库来发送HTTP请求,安装beautifulsoup4库来解析HTML页面。

!pip install requests
!pip install beautifulsoup4

然后,我们创建一个imdb.py文件,这个文件包含以下代码:

import requests
from bs4 import BeautifulSoup

def get_movie_rating(movie_name):
    # 构建链接
    url = f"https://www.imdb.com/find?q={movie_name}&s=tt&ttype=ft&ref_=fn_ft"
    response = requests.get(url)  # 发送GET请求

    # 解析HTML页面
    soup = BeautifulSoup(response.text, 'html.parser')

    # 找到      个搜索结果
    result = soup.find(class_='result_text')
    movie_link = result.find('a')['href']
    movie_url = f"https://www.imdb.com{movie_link}"

    # 发送电影页面链接的GET请求
    response = requests.get(movie_url)

    # 解析电影页面
    soup = BeautifulSoup(response.text, 'html.parser')
    rating = soup.find(class_='ratingValue').find('span').text

    return rating

if __name__ == '__main__':
    movie_name = input("请输入电影名: ")
    rating = get_movie_rating(movie_name)
    print(f"{movie_name}的评分是: {rating}")

代码中的get_movie_rating函数接受一个电影名作为参数,并返回该电影的评分。它首先构建一个IMDb搜索的链接,然后发送HTTP请求,并解析HTML页面。

解析页面后,我们找到 个搜索结果,提取电影的链接。然后,我们使用这个链接发送HTTP请求,并解析返回的电影页面。最后,我们找到评分的HTML元素并提取出评分。

if __name__ == '__main__':部分,我们获取用户输入的电影名,并调用get_movie_rating函数来获取评分。最后,我们将电影名和评分打印出来。

下面是一个使用例子:

请输入电影名: Avengers: Infinity War
Avengers: Infinity War的评分是: 8.4

这个例子演示了如何使用IMDb电影评分应用来获取《复仇者联盟:无限战争》的评分,评分为8.4。

这只是一个简易的IMDb电影评分应用,你可以根据自己的需求对其进行扩展或优化。你可以添加更多的功能来获取电影的其他信息,如主演、导演等。你还可以设计一个更友好的用户交互界面,使用户能够通过输入电影名来查看电影评分。