我正在尝试从特定网站地址复制两张桌子并将其模仿到我的网站上,但我不确定该怎么做。
我已经研究过Simple-HTML-Dom,我实际上让它在我的机器上本地工作 - 在某种程度上。虽然我对这种方法有几个问题。
虽然我得到了它的工作,但它并不完美。我还拖了一些随机文本,我复制了5个表 - 而不是预期的2个。
我宁愿使用其他方法 - 不使用第三方脚本?
我试图复制的表格可以在这里找到:
我只想要包含2017年和2016年数据的表格(带有标题)。
表格标题
表格内容
表格标题
表格内容
这适用于我的Wordpress网站。 我不知道是否可以用PHP编程实现这一点,或者Wordpress本身支持的另一个库,而不使用SQL /第三方脚本或类似的东西。
谢谢
////
---巨大的更新---
好的,所以我一直在玩并尝试调试代码,我几乎就在那里!!
我设法只复制了第一张表(第二张表很容易)。
最后一部分是尝试将类添加到createElements行?那可能吗?
这是我差不多完成的代码。
<h1 class="roeheader">Monthly Industrial Euro Rate:</h1>
[insert_php]
$url = "https://www.gov.uk/government/publications/rates-and-allowances-monthly-euro-conversion-rates-for-calculating-duty/monthly-euro-conversion-rates-for-calculating-duty";
$html = file_get_contents($url);
libxml_use_internal_errors(true);
$doc = new \DOMDocument();
if($doc->loadHTML($html))
{
$result = new \DOMDocument();
$result->formatOutput = true;
$table = $result->appendChild($result->createElement("table"));
$thead = $table->appendChild($result->createElement("thead"));
$tbody = $table->appendChild($result->createElement("tbody"));
$xpath = new \DOMXPath($doc);
$newRow = $thead->appendChild($result->createElement("tr"));
foreach($xpath->query("//table[1]/thead/tr/th[position()>0]") as $header)
{
$newRow->appendChild($result->createElement("th", trim($header->nodeValue)));
}
foreach($xpath->query("//table[1]/tbody/tr") as $row)
{
$newRow = $tbody->appendChild($result->createElement("tr"));
foreach($xpath->query("./td[position()>0 and position()<5]", $row) as $cell)
{
$newRow->appendChild($result->createElement("td", trim($cell->nodeValue)));
}
}
echo $result->saveXML($result->documentElement);
}
[/insert_php]
我正试图改变这一行:
$newRow->appendChild($result->createElement("td", trim($cell->nodeValue)));
对此:
$newRow->appendChild($result->createElement("td class"roe"", trim($cell->nodeValue)));
但它不起作用?该页面只是拒绝加载?我想这是因为双引号。
由于
答案 0 :(得分:0)
现在,您可以检查表格并查看它们后面的html和css,并将它们复制到您的网站,使它们完全相同。一个用于制作表格的好WordPress插件是https://wordpress.org/plugins/tablepress/。如果您有进一步的信息,请告诉我。