Как я могу получить первые 3 результата цикла «для»?

#python #web-scraping #scrapy

Вопрос:

Вот рабочий код:

 import scrapy  class imdb_project(scrapy.Spider):  name = 'imdb'  start_urls = ['https://www.imdb.com/chart/top']   def parse(self, response):  for i in response.css('.titleColumn a'):  movie_name = i.css('::text').get()  movie_url = i.css('::attr(href)').get()  dict = {'movie': movie_name}   yield response.follow(movie_url, callback=self.parse_info, meta=dict)   def parse_info(self, response):  movie_name2 = response.meta['movie']  duration = response.css('ul.dxizHm li:nth-child(3)::text').get()  genre = ', '.join(response.css('a.ipc-chip--on-baseAlt *::text').getall())   print('n')  yield {  'Movie Name': movie_name2,  'Duration': duration,  'Genre': genre,  }  print('n')  

Это показывает мне все 250 результатов, но что, если я хочу увидеть, например, только первые 3 результата?

Ответ №1:

Измените итерацию списка

 for i in response.css('.titleColumn a'):   

Для:

 for i in response.css('.titleColumn a')[:3]: