Я довольно новичок в Scrapy. Я написал программу, которая собирает различную информацию о фильмах с основного сайта. Тем не менее, чтобы получить всю информацию, я должен получить элементы с нескольких сайтов, и я написал 2 другие функции, кроме "parse".
Проблема в том, что я хочу, чтобы элементы были в одном словаре для каждого mov ie для сохранения в CSV-файле. Теперь значения из первой функции возвращаются первыми в словаре, а значения из второй отдельно.
Это функции:
def parse(self, response):
items = LetterboxdItem()
all_li_films = response.css('li.poster-container')
for films in all_li_films:
film_link = films.css(...).extract()
yield from response.follow_all(film_link, self.parse_film)
def parse_film(self, response):
items = LetterboxdItem()
film_title = response.css(...).extract()
film_director = response.css(...).extract()
film_year = response.css(...).extract()
film_rating_link = response.css(...).extract()
items['film_director'] = film_director
items['film_title'] = film_title
items['film_year'] = film_year
yield items
yield response.follow(film_rating_link,self.parse_rating)
def parse_rating(self, response):
items = LetterboxdItem()
film_rating = response.css(...).extract()
items['film_rating'] = film_rating
yield items