Scrapy xpath返回0而不是实际价格

时间:2018-04-29 04:15:15

标签: python web-scraping scrapy

我要抓的网站是https://coins.ph。每当我尝试从scrapy shell中提取时,它返回0而不是我在Chrome Dev控制台中可以看到的实际价格。

这是我正在运行的代码:

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

这就是Chrome Dev Console中的样子

enter image description here

1 个答案:

答案 0 :(得分:1)

当您连接到该页面时,会发出一个AJAX请求。 如果你检查&#34;网络&#34;您的&#34; Web Inspector&#34;中的选项卡(例如,ctrl + shift + i in chromium)你可以看到:

enter image description here

因此,正在对此地址发出GET请求以检索定价:

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

您需要做的只是连接到该地址,您可以使用json.loads(response.body)函数加载响应并将其解析为dict。