Scrap, чтобы получить список 200 лучших альбомов Billboard - PullRequest
0 голосов
/ 01 мая 2020

Не уверен, почему эта скрапа не дает мне никакого результата. Может кто-нибудь указать мне правильное направление? Я просто пытаюсь вычистить названия альбомов с этой страницы .

import scrapy
from scrapy.crawler import CrawlerProcess

class uoc_spider(scrapy.Spider):
    name = "uoc_spider"

    start_urls = [
    "https://www.billboard.com/charts/year-end/2018/top-billboard-200-albums"
    ]

    def parse(self, response):
        for row in response.css("chart-details__item-list article"):
            yield {"name_of_album": row.css("div.ye-chart-item__primary-row ::text").extract_first()}

process = CrawlerProcess({
    'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'})
process.crawl(uoc_spider)
process.start()

1 Ответ

1 голос
/ 02 мая 2020

Кажется, работают только небольшие изменения в селекторах css:

# add a . to specify it's a class selector
for row in response.css(".chart-details__item-list article"):
  # album title is under class ye-chart-item__title
  yield {"name_of_album": row.css("div.ye-chart-item__title::text").extract_first()}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...