예제 #1
0
    def parse(self, response):
        result = Song()

        songs = response.css('div.song-details')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css('a h3.title::text').extract()
            artists = song.css('a p.artist::text').extract()

            result['title'] = title
            result['artist'] = artists
            result['chart_position'] = chart_position
            result['production_house'] = None
            chart_position += 1
            yield result
예제 #2
0
    def parse(self, response):
        result = Song()

        songs = response.css('.info .wrap')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css('.title span::text').extract()
            artists = song.css('.title+ .artist, a::text').extract()

            result['title'] = title
            result['artist'] = artists
            result['chart_position'] = chart_position
            result['production_house'] = None
            chart_position += 1

            yield result
예제 #3
0
    def parse(self, response):
        result = Song()

        songs = response.css('div.list-group.chart-panel')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css(
                'span.list-group-item.singer-container>a::text').extract()
            artists = song.css('span.list-group-item>a::text').extract()

            result['title'] = title
            result['artist'] = artists
            result['chart_position'] = chart_position
            result['production_house'] = None
            chart_position += 1

            yield result
예제 #4
0
    def parse(self, response):
        result = Song()

        songs = response.css('#basisinfo')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css('#artistnavn::text').extract()
            artists = song.css('#titel::text').extract()
            production_house = song.css('a::text').extract()

            result['title'] = title
            result['artist'] = artists
            result['chart_position'] = chart_position
            result['production_house'] = production_house
            chart_position += 1

            yield result
예제 #5
0
    def parse(self, response):
        result = Song()

        songs = response.css('div.track__info')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            full = song.css('span.track__title::text').extract()[0].split(
                ' - ')
            title = full[0]
            artists = full[1]

            result['title'] = title
            result['artist'] = artists
            result['chart_position'] = chart_position
            result['production_house'] = None
            chart_position += 1

            yield result
예제 #6
0
    def parse(self, response):
        result = Song()

        songs = response.css('div.title-artist')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css('div.title > a::text').extract()
            artists = song.css('div.artist > a::text').extract()
            prod_houses = song.css(
                'div.label-cat > span.label::text').extract()

            result['title'] = title[0]
            result['artist'] = artists[0]
            result['production_house'] = prod_houses[0]
            result['chart_position'] = chart_position
            chart_position += 1

            yield result
예제 #7
0
    def parse(self, response):
        result = Song()

        songs = response.css('.ye-chart-item__text')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css('.ye-chart-item__title::text').extract()
            artists_with_a = song.css('.ye-chart-item__artist a::text').extract()
            artists_without_a = song.css('.ye-chart-item__artist::text').extract()
            art = artists_with_a
            if len(artists_with_a) == 0:
                art = artists_without_a
            result['title'] = title
            result['artist'] = art
            result['production_house'] = None
            result['chart_position'] = chart_position
            chart_position += 1

            yield result
예제 #8
0
    def parse(self, response):
        result = Song()

        songs = response.css('span.chart-element__information')
        chart_position = 1
        for song in songs:
            chart_position = chart_position
            title = song.css(
                'span.chart-element__information__song.text--truncate.color--primary::text'
            ).extract()
            artists = song.css(
                'span.chart-element__information__artist.text--truncate.color--secondary::text'
            ).extract()

            result['title'] = title
            result['artist'] = artists
            result['chart_position'] = chart_position
            result['production_house'] = None
            chart_position += 1

            yield result