Python爬虫中获取历史电影排名前250名,电影信息的代码
时间: 2024-10-17 13:11:54 浏览: 30
Python爬虫福彩3D历史数据分析.xlsx
5星 · 资源好评率100%
在Python中,爬取IMDb等网站的历史电影排行榜并获取电影信息通常需要使用第三方库如`requests`, `BeautifulSoup`或`Scrapy`。这里是一个基本的例子,使用`requests`和`BeautifulSoup`来抓取《IMDb Top 250》页面的数据:
```python
import requests
from bs4 import BeautifulSoup
# 请求URL
url = "https://www.imdb.com/chart/top/?ref_=nv_mv_250"
def get_movie_data(url):
# 发送GET请求
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 查找表格元素,通常电影数据存储在其中
movie_list = soup.find('tbody', {'class': 'lister-list'})
# 创建空列表存储电影信息
movies = []
# 遍历每一行电影信息
for row in movie_list.find_all('tr'):
title_cell = row.find('td', {'class': 'titleColumn'})
rank_cell = row.find('td', {'class': 'ratingColumn imdbRating'})
# 获取电影标题和评分
title = title_cell.a.text.strip() if title_cell else None
rating = rank_cell.strong.text.strip() if rank_cell else None
# 如果找到了电影信息,则添加到列表中
if title and rating:
movies.append({
'title': title,
'rating': rating
})
return movies
else:
print(f"Failed to fetch data with status code {response.status_code}")
return []
movies = get_movie_data(url)
for movie in movies[:250]: # 我们通常只取前250部
print(f"{movie['title']}: {movie['rating']}")
阅读全文