【问题标题】:Extracting specific data from a web page using PHP [duplicate]使用 PHP 从网页中提取特定数据 [重复]
【发布时间】:2012-07-19 00:55:31
【问题描述】:
可能重复:
HTML Scraping in Php
我想知道是否有任何方法可以从网页中获取不时使用 PHP 更新的特定文本字符串。我搜索了“整个互联网”,但一无所获。刚刚看到preg_match可以做到,但是不明白怎么用。
想象一个网页包含以下内容:
<div name="changeable_text">**GET THIS TEXT**</div>
在使用file_get_contents 将页面放入变量后,我该如何使用 PHP 来实现?
提前致谢:)
【问题讨论】:
标签:
php
html
screen-scraping
【解决方案2】:
你可以使用DOMDocument,像这样:
$html = file_get_contents( $url);
libxml_use_internal_errors( true);
$doc = new DOMDocument;
$doc->loadHTML( $html);
$xpath = new DOMXpath( $doc);
// A name attribute on a <div>???
$node = $xpath->query( '//div[@name="changeable_text"]')->item( 0);
echo $node->textContent; // This will print **GET THIS TEXT**
【解决方案3】:
您说的是data scraping:从人类可读的输出中提取数据的行为。在您的情况下,这是 <div> 标签之间的任何内容。使用PHP DOM 的扩展名获取您想要的标签并提取数据。谷歌搜索 PHP DOM 教程。
【解决方案4】:
$delements= file_get_html('url will go here');
foreach($elements->find('element') as $ele) {
//traverse according to your preferences
}
//return or output