访问豆瓣电影Top250,获取每部电影的导演、编剧、主演、类型、上映时间、片长、评分人数及剧情介绍等信息,并将获取到的信息保存至本地文件中
时间: 2023-10-20 21:17:40 浏览: 295
基于Python的豆瓣电影TOP250爬虫数据分析设计源码
为了完成这个任务,我们可以使用 Python 的 requests 库和 Beautiful Soup 库来进行网页爬取和信息提取。
以下是代码实现:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 请求豆瓣电影Top250的页面
url = "https://movie.douban.com/top250"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
# 用于保存所有电影的信息
movies = []
# 遍历每个电影条目
for movie_item in soup.find_all("div", class_="item"):
# 提取电影信息
title = movie_item.find("span", class_="title").text.strip() # 电影名
info = movie_item.find("div", class_="bd").p.text.strip() # 电影信息
director = info.split("\n")[0][4:] # 导演
screenwriter = info.split("\n")[1][5:] # 编剧
actors = info.split("\n")[2][3:] # 主演
genres = info.split("\n")[3].strip() # 类型
release_date = info.split("\n")[4][6:] # 上映时间
runtime = info.split("\n")[5][4:] # 片长
rating_num = movie_item.find("span", class_="rating_num").text.strip() # 评分人数
summary = movie_item.find("span", class_="inq").text.strip() # 剧情简介
# 保存电影信息
movie = {
"电影名": title,
"导演": director,
"编剧": screenwriter,
"主演": actors,
"类型": genres,
"上映时间": release_date,
"片长": runtime,
"评分人数": rating_num,
"剧情简介": summary
}
movies.append(movie)
# 将电影信息保存至本地文件
with open("douban_top250_movies.csv", "w", newline="", encoding="utf-8") as csvfile:
fieldnames = ["电影名", "导演", "编剧", "主演", "类型", "上映时间", "片长", "评分人数", "剧情简介"]
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for movie in movies:
writer.writerow(movie)
```
该代码会将豆瓣电影Top250的每部电影的导演、编剧、主演、类型、上映时间、片长、评分人数及剧情介绍等信息保存至本地文件 "douban_top250_movies.csv" 中。
阅读全文