可能的重复:
PHP 中的 HTML 抓取
我想知道是否有任何方法可以从网页中获取特定的文本字符串,该字符串不时使用 PHP 进行更新。我搜索了“整个互联网”,但一无所获。刚刚看到preg_match可以做到,但是不明白怎么用。
想象一个网页包含以下内容:
<div name="changeable_text">**GET THIS TEXT**</div>
file_get_contents
在将页面放入变量后,如何使用 PHP 进行操作?
提前致谢 :)
可能的重复:
PHP 中的 HTML 抓取
我想知道是否有任何方法可以从网页中获取特定的文本字符串,该字符串不时使用 PHP 进行更新。我搜索了“整个互联网”,但一无所获。刚刚看到preg_match可以做到,但是不明白怎么用。
想象一个网页包含以下内容:
<div name="changeable_text">**GET THIS TEXT**</div>
file_get_contents
在将页面放入变量后,如何使用 PHP 进行操作?
提前致谢 :)
您可以使用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**
你可能想看看
简单的 HTML DOM 库
这里有一个小教程:http: //www.developertutorials.com/tutorials/php/easy-screen-scraping-in-php-simple-html-dom-library-simplehtmldom-398/
那是一个屏幕抓取 API,可让您向其提供 html,然后以类似 jQuery 的语言获取其中的一部分。
$delements= file_get_html('url will go here');
foreach($elements->find('element') as $ele) {
//traverse according to your preferences
}
//return or output