Проблемы с написанием Scrapy Selector

Новичок в python, пытающийся изучить возможность импорта давно разработанного проекта с другого языка, и приятель клянется, что Python - мой ответ. У меня есть и работает IDE, scrapy работает должным образом и правильно выводит "name" и "rank", перечисленные на веб-сайте, для удобства.csv.

Проблема заключается в том, что я провел последний час, пытаясь выяснить, как извлечь поле "командный игрок" на веб-сайте. Это промежуток времени, это первый случай, когда я столкнулся со скрапировкой, у которой есть пробел в пространстве имен, что, кажется, не рекомендуется.

Ниже мой код, все отлично работает, кроме вытягивания последней строки "позиция команды". Представленный код является лишь представлением многих итераций, через которые я прошел, пытаясь получить это. Любая помощь будет принята с благодарностью.

import scrapy


class CBS200Spider(scrapy.Spider):
name = "expr"
start_urls = [
    'https://www.cbssports.com/fantasy/football/rankings/ppr/top200/',
    #'https://www.cbssports.com/fantasy/football/rankings/standard/top200/',
]

def parse(self, response):
    for plyr in response.css('div.player-row'):
        yield {
            'name': plyr.css('.player-name::text').get(),
            'rank': plyr.css('.rank::text').get(),
            'team': plyr.css('team position::text').get(),
        }

1 ответ

Решение

Для CSS team а также position два класса, и вы должны использовать dot два раза - без места.

 '.team.position::text'

КСТАТИ: xpath лечит "team position" как одно имя.

Другие вопросы по тегам