【问题标题】:Get data from table with PHP Simple HTML DOM Parser使用 PHP Simple HTML DOM Parser 从表中获取数据
【发布时间】:2018-10-11 11:58:08
【问题描述】:

我想从这里提取#buyOrdersTable表中的数据

https://bittrex.com/Market/Index?MarketName=BTC-XRP

为此,我使用 PHP Simple HTML DOM Parser library 和以下代码:

$html = file_get_html('https://bittrex.com/Market/Index?MarketName=BTC-XRP');

echo 'BTC/XRP<br>';

foreach($html->find('div.buy-table-container tr.dyn-tr-add td') as $td) 
{
    echo $td->plaintext . '<br>';
}

?>

我想从 BID 部分中提取每一行 - SUM、TOTAL、SIZE (XRP)、BID (BTC)。但是代码没有找到任何行。

【问题讨论】:

  • 它永远不会。该页面主要是纯javascript。简单的 HTML DOM 无法执行 javascript。尝试在浏览器中禁用 javascript;这就是解析器所看到的。
  • 那么有什么方法可以使用其他技术获取这些数据?
  • 在下面查看我的答案

标签: php dom web-scraping html-parsing


【解决方案1】:

你不能那样做。这是不可能的,正如 cmets 中的 msg 所解释的那样。

要正确执行此操作,请注册一个 API 密钥,然后调用 API!

https://support.bittrex.com/hc/en-us/articles/115003723911-Developer-s-Guide-API

您可能希望使用 Guzzle 或 cURL 来提出您的请求。您可以找到很多教程,展示如何使用任何一种方法连接到任何 API。

这可能对您有所帮助,也可能无济于事。不久前,我开始编写一个连接到 BTC-e 交易所(现在的 Wex.nz)的库。您可以为任何交换制作适配器,因此您可以根据需要调整此代码。

https://github.com/delboy1978uk/BTCExchange/blob/master/src/Exchange/BtcE.php

扩展了这个类https://github.com/delboy1978uk/BTCExchange/blob/master/src/Exchange/ExchangeAbstract.php

感谢msg 来检查Packagist。有许多现成的 Bittrex API 包等待安装! https://packagist.org/?query=bitrex-api

【讨论】:

  • 该api有severalready-madephp实现。不能保证它们的质量,但第二个看起来相当完整。
  • 更好!想把我们联系起来吗?
  • 谢谢。它对我有很大帮助。没想到有些交易所免费提供API。
  • 即使是more options,也有一些与框架集成。 @delboy1978uk 如果需要,请随时将它们直接添加到您的答案中。
猜你喜欢
  • 1970-01-01
  • 2012-08-12
  • 2012-04-08
  • 1970-01-01
  • 2016-04-09
  • 1970-01-01
  • 2016-04-21
  • 2018-05-11
  • 1970-01-01
相关资源
最近更新 更多