可能重复:
HTML Scraping in Php
我想知道是否有任何方法可以从网页获取一个特定的文本字符串,这些文本将立即更新,然后使用PHP。我搜索“遍布互联网”并没有找到任何结果。刚刚看到preg_match可以做到,但我不明白如何使用它。
想象一个网页包含:
<div name="changeable_text">**GET THIS TEXT**</div>
在使用file_get_contents
将页面放入变量后,如何使用PHP进行此操作?
提前致谢:)
答案 0 :(得分:12)
您可以使用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**
答案 1 :(得分:2)
您可能想查看
简单的HTML DOM库
这是一个屏幕抓取API,它允许您向其提供html,然后以jQuery类似的语言获取部分内容。
答案 2 :(得分:0)
您在谈论data scraping:从人类可读输出中提取数据的行为。在您的情况下,这是<div>
标记之间的任何内容。使用PHP DOM的扩展名来获取所需的标记并提取数据。谷歌搜索PHP DOM教程。
答案 3 :(得分:0)
$delements= file_get_html('url will go here');
foreach($elements->find('element') as $ele) {
//traverse according to your preferences
}
//return or output