Scrapy xpath возвращает 0 вместо фактической цены - PullRequest
0 голосов
/ 29 апреля 2018

Сайт, который я пытаюсь очистить, - https://coins.ph. Всякий раз, когда я пытаюсь извлечь из scrapy shell, он возвращает 0 вместо реальной цены, которую я вижу в консоли Chrome Dev.

Вот код, который я запускаю:

>>> response.xpath('//*[@id="bitcoin-buy-price"]').extract()
['<span id="bitcoin-buy-price">0</span>']
>>> 

А вот как это выглядит в консоли Chrome Dev

enter image description here

1 Ответ

0 голосов
/ 29 апреля 2018

При подключении к странице выполняется запрос AJAX. Если вы откроете вкладку «Сеть» в «Веб-инспекторе» (например, Ctrl + Shift + I в Chromium), вы увидите:

enter image description here

Таким образом, по этому адресу делается запрос GET для получения цены:

https://quote.coins.ph/v1/markets/BTC-PHP

Все, что вам нужно сделать, это подключиться к этому адресу, и вы можете загрузить ответ с помощью функции json.loads(response.body) и проанализировать его как диктовку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...