#python #web-scraping #xpath #scrapy
Вопрос:
Когда я открываю режим проверки в браузере, я могу найти эти элементы(href), также, если вы используете ChroPath, вы можете без проблем увидеть точный список нужных вам ссылок.
Я пытаюсь извлечь hrefs из этих элементов:
<a data-ng-bind="::championship.countryName ', ' championship.name ' '" data-ng-href="/stavki/sport/mma/ufc/dana_white_s_contender_series__season_5__week_10/" class="ng-binding" href="/stavki/sport/mma/ufc/dana_white_s_contender_series__season_5__week_10/">UFC, Dana White's Contender Series: Season 5, Week 10 </a>
Когда я пытаюсь получить html-ответ с помощью Scrapy или Beautiful Soap, этот ответ не содержит этих тегов, и я не могу найти элемент, используя тот же Xpath(в ChroPath я могу).
Комментарии:
1. Вероятно, элементы создаются динамически с помощью кода JavaScript. Селен может помочь.
2. Он создается динамически с помощью JavaScript. Откройте devtools->сеть->>xhr и получите его из ‘>> winline.ru/api/v2/menu/search?id_project=5amp;menu_status=1 ‘
3. Спасибо вам, ребята, у меня были подозрения на этот счет. Есть ли какой-нибудь способ сделать это без Селена? @MichaelButscher
4. проверено, и оно идет из веб-сокета, поэтому в этом случае нет возможности проанализировать его стандартными методами в Scrapy.
Ответ №1:
проверено, и оно идет из веб-сокета, поэтому в этом случае нет стандартного способа получения данных с помощью Scrapy. Можно использовать клиент websocket, но это другой вопрос.