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

如何用Scrapy爬取IMDB TOP250中2000年及以后上映的电影?

修改后可直接运行的代码

import scrapy

class imdb_project(scrapy.Spider):
    name = 'imdb'
    start_urls = ['https://www.imdb.com/chart/top']

    def parse(self, response):
        # 遍历每个电影对应的标题栏节点,同时包含电影名和年份元素
        for title_item in response.css('.titleColumn'):
            # 提取年份文本,去掉前后括号后转成整数
            movie_year = int(title_item.css('.secondaryInfo::text').get().strip('()'))
            # 仅输出2000年及以后的电影名称
            if movie_year >= 2000:
                print(title_item.css('a::text').get())

改动说明

  • 原来的逻辑是直接遍历标题栏下的电影名a标签,现在改为遍历整个.titleColumn节点,方便同时获取同节点下的年份元素
  • 年份存储在class为secondaryInfo的span标签中,默认文本带前后括号,用Python自带的strip('()')方法即可直接去除括号,不需要使用正则
  • 增加你预想的年份判断逻辑,符合条件的电影才会输出名称

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:09:01