我要抓的网站是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中的样子
答案 0 :(得分:1)
当您连接到该页面时,会发出一个AJAX请求。 如果你检查&#34;网络&#34;您的&#34; Web Inspector&#34;中的选项卡(例如,ctrl + shift + i in chromium)你可以看到:
因此,正在对此地址发出GET请求以检索定价:
https://quote.coins.ph/v1/markets/BTC-PHP
您需要做的只是连接到该地址,您可以使用json.loads(response.body)
函数加载响应并将其解析为dict。