我想创建一个脚本来自动获取维基百科页面上特定类中的文本。例如,我想从他的维基百科页面获得音乐家Avicii的真名(Tim Bergling)。从google的inspect元素中我发现他的名字存储在一个名为“nickname”的类中:
<td class="nickname">Tim Bergling</td>
我想获取昵称类的内容。我找到了一些帮助我解决一些代码的线程,但我无法让它正常工作。以下是我到目前为止的情况:
<?php
$wiki= file_get_contents("http://en.wikipedia.org/wiki/Avicii");
preg_match("/\<td class\=\"nickname\"\>(.*?)\<\/td\>/",$wiki,$n);
print $n;
?>
最终,我希望将此名称发送到我的网站上的特定类,以便显示它。现在,我只是满足于打印它。谢谢:))
编辑:我应该澄清一下我对PHP和编码非常陌生,但是我已经快速完成了它并且我正试图推动自己。我非常感谢你的时间!
答案 0 :(得分:1)
您应该使用DOMDocument
课程而不是preg_match
,请尝试:
$html = file_get_contents("your url");
$DOM = new DOMDocument();
$DOM->loadHTML($html);
$finder = new DomXPath($DOM);
$classname = 'nickname';
$nodes = $finder->query("//*[contains(@class, '$classname')]");
foreach ($nodes as $node) {
echo $node->nodeValue;
}