从网站获取数据

时间:2012-09-07 23:01:58

标签: php cakephp curl

我正在开发一个应用程序,我需要从其他源/网站获取数据。我做了谷歌并测试了一些选项,如file_get_contents / Curl。很明显,与file_get_contents相比,curl要快得多。

现在,我需要获取的是一个特定的内容列表,比如div中的项目列表。我想忽略HEAD info / scripts / css等。只需要获取数据并在我自己的主题中设置样式。

请告诉我获取内容和样式输出的最佳方法/功能。如果你可以节省一些时间并编写基本代码,那将非常有用......

提前致谢

2 个答案:

答案 0 :(得分:0)

方式你可以使用file_get_contents

示例:

$fileHTML = file_get_contents('http://www.google.ca');
$title = substr($fileHTML,strpos($fileHTML,'<title>') + 7,strpos($fileHTML,'</title>') - (strpos($fileHTML,'<title>') + 7));
+ 7所以它将转到&lt; title&gt;的结尾 echo $title;
这应该显示Google网站的标题。

这可行的方法是抓住ID,因为在适当的网站中,所有ID都是唯一的。

答案 1 :(得分:0)

我会使用HTML Parser。我使用简单的HTML DOM PARSER http://simplehtmldom.sourceforge.net/,这很棒。还有一个很棒的文档。它在其主页中给出了这个例子:

// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');

// Find all images 
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';

// Find all links 
foreach($html->find('a') as $element) 
       echo $element->href . '<br>';