ウィキページの右側にあるウィキペディアの情報ボックスからコンテンツを取得しようとしています。
DOMXpathを使用してコンテンツをスクレイプしています。
このリンクの情報ボックス(右側)で、セクションをスクレイプしようとしていますTraded as
。ただし、ページソースでは、複数のhrefで構成されています。
Traded as: NASDAQ: GOOG
NASDAQ-100 Component
S&P 500 Component
そして、私のSIMPLE_XML_Element_Objectは次のようになります
SimpleXMLElement object {
@attributes => array(1) (
[class] => (string)
)
th => SimpleXMLElement object {
@attributes => array(2) (
[scope] => (string) row
[style] => (string) text-align:left;
)
a => (string) Traded as
}
td => SimpleXMLElement object {
@attributes => array(2) (
[class] => (string)
[style] => (string)
)
a => array(4) (
[0] => (string) NASDAQ
[1] => (string) GOOG
[2] => (string) NASDAQ-100 Component
[3] => (string) S&P 500 Component
)
}
これが私が中身をこすり取ろうとしたことです。
foreach ($xmlElements->xpath("//div[@id='mw-content-text']/table[@class='infobox vcard']/tr") as $node)
{
$name = (string)$node->th;
if(empty($name))
$name = (string)$node->th->a;
if(is_array($node->td->a))
$value = implode('~', (string) $node->td->a);
else
$value = (string) $node->td->a;
}
しかし、私は形成された値を取得することができず、私は単独で"NASDAQ: GOOD ~ NASDAQ-100 Component ~ NASDAQ-100 Component"
値を取得しています。これは必須ではありません。"NASDAQ"
配列の場合、ノードから値を取得するにはどうすればよいですか?
私の質問がはっきりしていることを願っています。どんな助けでもいただければ幸いです。