- Краткое описание проблемы:
Привет, я пытаюсь научиться использовать Scrapy Framework для python (доступно по адресу https://scrapy.org). Я следую вместе с учебникомЯ нашел здесь: https://www.scrapehero.com/scrape-alibaba-using-scrapy/,, но я собирался использовать другой сайт для практики, а не просто копировать их на Alibaba. Моя цель - получить игровые данные из https://www.mlb.com/scores.
Так что мне нужноиспользуйте Xpath, чтобы сообщить пауку, какие части html нужно очистить (я примерно на полпути на этой странице учебника на сайте scrapehero, в разделе «Создание селекторов Xpath для списка продуктов»). Проблема в том, что у меня возникла проблемачерт возьми, выяснить, какой синтаксис должен быть на самом деле, чтобы получить нужные мне фрагменты? Я все утро просматривал примеры с xpath, пытаясь выяснить правильный синтаксис, но я не смог его получить.
Справочная информация:
Итак, что я хочу - это от https://www.mlb.com/scores, Мне нужна команда xpath (), которая будет возвращать массив со всеми отображаемыми играми.
Следуя руководству, я понимаю, что для этого нужно проверить элементы на веб-странице, определить их класс / идентификатор и, в частности, команду xpath.
IЯ пробовал много вариантов, чтобы получить данные, но все они возвращают пустые массивы.
У меня нет никакой подготовки в XPath, поэтому я не уверен, что мой синтаксис где-то выключен или что-то,но я бы очень признателен за помощь в получении этой команды для возврата искомых объектов.Спасибо, что нашли время, чтобы прочитать это.
Код:
Вот некоторые попытки, которые не сработали:
response.xpath("//div[@class='g5-component--mlb-scores__game-wrapper']")
response.xpath("//div[@class='g5-component]")
response.xpath("//li[@class='mlb-scores__list-item mlb-scores__list-item--game']")
response.xpath("//li[@class='mlb-scores__list-item']")
response.xpath("//div[@!data-game-pk-id > 0]")'
response.xpath("//div[contains(@class, 'g5-component')]")
Ожидаемые результаты и фактические результаты
Мне нужна команда XPath, которая возвращает массив, содержащий объект селектора для каждой игры на странице mlb.com/scores.
Пока чтоЯ смог получить общие результаты, которые на самом деле не то, что я хочу (я могу получить селектор, который возвращает всю страницу, просто пропуская предикаты, но всякий раз, когда я пытаюсь указать, я получаю пустой массив).
Так что для всех моих попыток я либо получаю неправильные объекты, либо пустой массив.