Scrapy: Как мне вывести элементы в одном словаре? - PullRequest
0 голосов
/ 24 апреля 2020

Я довольно новичок в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...