import csv
import requests
from lxml import html
BASE_URL = "https://www.themoviedb.org"
def get_movie_info(movie_info_url):
dict_data = {}
movie_response = requests.get(movie_info_url)
movie_doc = html.fromstring(movie_response.text)
# Example of extracting data with fallback to empty string
movie_name = movie_doc.xpath("//*[@id='original_header']/div[2]/section/div[1]/h2/a/text()")
dict_data["电影名"] = movie_name[0] if movie_name else ""
movie_release_date = movie_doc.xpath("//*[@id='original_header']/div[2]/section/div[1]/div/span[@class='release']/text()")
dict_data["上映时间"] = movie_release_date[0].strip() if movie_release_date else ""
# Handle lists (e.g., genres)
movie_type_list = movie_doc.xpath("//*[@id='original_header']/div[2]/section/div[1]/div/span[@class='genres']/a/text()")
dict_data["类型"] = "和".join(movie_type_list) if movie_type_list else ""
return dict_data
def save_all_movies(all_movies):
with open("csv_data/movie_list.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.DictWriter(f, ["电影名", "年份", "上映时间", "类型", "时长", "评分", "语言", "导演", "作者", "主演", "Slogan", "简介"])
writer.writeheader()
writer.writerows(all_movies)