Scrapy возвращает пустой массив из XPath - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь собрать данные о спортсмене с этой веб-страницы: https://www.athletic.net/TrackAndField/Athlete.aspx?AID=7844096#!/L4. Мне удалось собрать имя спортсмена, но я испытываю затруднения при сборе его имени школы, используя тот же метод. Я знаю, что название школы содержится в виде текста внутри ссылки внутри блока, но оно возвращает только пустой массив.

Вот мой код:

import scrapy

class AthletesSpider(scrapy.Spider):
    name = 'athletes'
    allowed_domains = ['athletic.net']
    start_urls = ['https://www.athletic.net/TrackAndField/Athlete.aspx?AID=7844096#!/L0']

    def parse(self, response):
        yield {
            'athlete_name' : response.xpath("//h2/text()").extract_first(),
            'school_name' : response.xpath("//h1/a/text()").extract_first()
        }

Я что-то упустил?

1 Ответ

0 голосов
/ 26 июня 2018

Добавьте запятую в свой словарь

import scrapy

class AthletesSpider(scrapy.Spider):
    name = 'athletes'
    allowed_domains = ['athletic.net']
    start_urls = ['https://www.athletic.net/TrackAndField/Athlete.aspx?AID=7844096#!/L0']

    def parse(self, response):
        yield {
            'athlete_name' : response.xpath("//h2/text()").extract_first(), <--here
            'school_name' : response.xpath("//h1/a/text()").extract_first()
        }
...