You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用BeautifulSoup抓取IMDb电影时如何将多名演员信息追加到列表同一行

实现方案

核心逻辑是不要单独追加单个演员到总列表,先把单部电影的所有信息抓取完整后,再作为一个整体追加到总列表中即可实现对应关系。

存储结构选择

你可以任选以下两种常用存储方式:

  • 子列表形式:每个子列表对应一部电影,首位存标题,后续元素存所有演员
  • 字典形式:每个字典对应一部电影,用明确的键区分标题和演员列表,后续数据处理更灵活

示例代码(Python)

# 第一步:初始化存储电影数据的总列表
movies = []

# 第二步:循环处理每一部Top10电影的页面
for movie_page in top10_movie_pages:
    # 抓取当前电影的标题
    title = get_title(movie_page)
    # 临时列表存储当前电影的所有演员
    actors = []
    # 遍历当前页面所有演职人员节点
    for actor_node in movie_page.find_all("span", class_="actor"):
        actor_name = actor_node.text.strip()
        actors.append(actor_name)
    # 单部电影所有信息抓取完成后,统一追加到总列表
    # 子列表存储写法
    movies.append([title, *actors])
    # 字典存储可选写法
    # movies.append({"title": title, "actors": actors})

最终效果

总列表的结构会完全符合你的需求:

[
    ["肖申克的救赎", "蒂姆·罗宾斯", "摩根·弗里曼", "鲍勃·冈顿"],
    ["教父", "马龙·白兰度", "阿尔·帕西诺", "詹姆斯·肯恩", "理查德·卡斯特尔诺", "罗伯特·杜瓦尔"],
    # 剩余8部电影依次排列
]

如果后续需要导出为csv等格式,直接用','.join(actors)即可把同部电影的所有演员拼接为单个字符串,写入同一行的同一个单元格。

内容的提问来源于stack exchange,提问作者yo doggy dogg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:54:03