使用 DOMDocument 从 HTML 获取数据
Getting data from HTML using DOMDocument
我正在尝试使用 DOM 从 HTML 获取数据。我可以获得一些数据,但无法弄清楚如何获得其余数据。这是一张突出显示我想要的数据的图片。
http://i.imgur.com/Es51s5s.png
这是代码本身
这是我的 PHP 代码
$html = file_get_contents('result.html');
$dom = new DOMDocument;
$dom->loadHTML($html);
$tr = $dom->getElementsByTagName('tr');
foreach ($tr as $row){
$td = $row->getElementsByTagName('td');
$td1 = $td->item(1);
$td2 = $td->item(2);
foreach ($td1->childNodes as $node){
$title = $node->textContent;
}
foreach ($td2->childNodes as $node){
$type = $node->textContent;
}
}
我用过以下class。
http://sourceforge.net/projects/simplehtmldom/
这个非常简单易用class。
你可以使用
$html->find('#RosterReport > tbody', 0);
寻找具体的table
$html->find('tr')
$html->find('td')
查找 table 行或列
注意 $html 变量有完整的 html dom 内容。
想通了
$html = file_get_contents('result.html');
$dom = new DOMDocument;
$dom->loadHTML($html);
$tr = $dom->getElementsByTagName('tr');
foreach ($tr as $row){
$td = $row->getElementsByTagName('td');
$td1 = $td->item(1);
$td2 = $td->item(2);
$title = $td1->childNodes->item(0)->textContent;
$firstURL = $td1->getElementsByTagName('a')->item(0)->getAttribute('href');
$type = $td2->childNodes->item(0)->textContent;
$imageURL = $td2->getElementsByTagName('img')->item(0)->getAttribute('src');
}
我正在尝试使用 DOM 从 HTML 获取数据。我可以获得一些数据,但无法弄清楚如何获得其余数据。这是一张突出显示我想要的数据的图片。
http://i.imgur.com/Es51s5s.png
这是代码本身
这是我的 PHP 代码
$html = file_get_contents('result.html');
$dom = new DOMDocument;
$dom->loadHTML($html);
$tr = $dom->getElementsByTagName('tr');
foreach ($tr as $row){
$td = $row->getElementsByTagName('td');
$td1 = $td->item(1);
$td2 = $td->item(2);
foreach ($td1->childNodes as $node){
$title = $node->textContent;
}
foreach ($td2->childNodes as $node){
$type = $node->textContent;
}
}
我用过以下class。 http://sourceforge.net/projects/simplehtmldom/
这个非常简单易用class。
你可以使用
$html->find('#RosterReport > tbody', 0);
寻找具体的table
$html->find('tr')
$html->find('td')
查找 table 行或列
注意 $html 变量有完整的 html dom 内容。
想通了
$html = file_get_contents('result.html');
$dom = new DOMDocument;
$dom->loadHTML($html);
$tr = $dom->getElementsByTagName('tr');
foreach ($tr as $row){
$td = $row->getElementsByTagName('td');
$td1 = $td->item(1);
$td2 = $td->item(2);
$title = $td1->childNodes->item(0)->textContent;
$firstURL = $td1->getElementsByTagName('a')->item(0)->getAttribute('href');
$type = $td2->childNodes->item(0)->textContent;
$imageURL = $td2->getElementsByTagName('img')->item(0)->getAttribute('src');
}