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