**
Python爬虫获取豆瓣TOP250电影信息并存入Excel表格
**
import requests # 导入requests库,用于发送HTTP请求
from bs4 import BeautifulSoup # 从bs4库中导入BeautifulSoup,用于解析HTML内容
import pandas as pd # 导入pandas库,用于数据处理
def fetch_movie_info(url): # 定义一个函数,用于获取电影信息
headers = { # 设置请求头,模拟浏览器访问
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers) # 发送GET请求到指定的URL
soup = BeautifulSoup(response.text, 'html.parser') # 使用BeautifulSoup解析返回的HTML内容
movies = soup.find('ol', class_='grid_view').find_all('li') # 查找包含所有电影信息的列表元素
movie_data = [] # 创建一个空列表,用于存储电影数据
for movie in movies: # 遍历每一个电影元素
title = movie.find('span', class_='title').text # 提取电影名称
rating = movie.find('span', class_='rating_num').text # 提取电影评分
people = movie.find('div', class_='star').find_all('span')[-1].text[:-3] # 提取评价人数
link = movie.find('a')['href'] # 提取电影链接
image = movie.find('img')['src'] # 提取电影图片链接
movie_data.append([title, rating, people, link, image]) # 将电影数据添加到列表中
return movie_data # 返回电影数据列表
if __name__ == '__main__': # 如果当前脚本是主程序,则执行以下代码
base_url = 'https://movie.douban.com/top250?start=' # 豆瓣电影Top 250的基础URL
all_movies = [] # 创建一个空列表,用于存储所有页面的电影数据
for i in range(0, 250, 25): # 循环遍历所有页面,步长为25
url = base_url + str(i) # 构造当前页面的URL
all_movies.extend(fetch_movie_info(url)) # 调用函数获取当前页面的电影信息,并添加到总列表中
# 创建DataFrame对象,并指定列名
df = pd.DataFrame(all_movies, columns=['电影名称', '评分', '评价人数', '链接', '图片'])
# 将DataFrame保存到Excel文件
df.to_excel('douban_top250_movies.xlsx', index=False)
9165

被折叠的 条评论
为什么被折叠?



