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

如何用Regex从IMDB页面提取genre纯文本 去除HTML标签

问题根因

原有代码存在两个核心错误:

  • 字符串切割规则写的是匹配<p class="genre">,但实际IMDB页面的类型内容存放在<span class="genre">标签内,切割逻辑完全不匹配
  • 直接把BeautifulSoup解析得到的标签对象转成字符串做替换,属于冗余操作,BeautifulSoup原生支持提取标签内纯文本,不需要硬写正则、字符串切割,这类硬匹配方案容错率极低。
正确实现方案

直接调用标签对象的.text属性提取纯文本,再做简单的格式清理即可,不需要复杂正则:

# 提取影片类型
genre_tag = movie.find('span', class_="genre")
if genre_tag:
    # 去除首尾换行、空白字符,统一逗号后加空格的格式
    genre = genre_tag.text.strip().replace(",", ", ")
else:
    genre = "Not Found"
IMDB_dict[title].append(genre)
运行效果

代码执行后会直接返回你需要的纯文本结果:Drama, Fantasy, Horror,不会携带任何HTML标签、多余空行或者无关内容。

该实现的兼容性远高于字符串切割、正则匹配方案,只要IMDB页面中genre对应的span标签class属性不变,即使标签内部有其他微小结构调整也能正常提取内容。

内容的提问来源于stack exchange,提问作者luke

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:21:43