2012-09-07 243 views
-5

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

现在,我需要获取的是一个特定的内容列表,如div内的项目列表。我想忽略头信息/脚本/ CSS等只需要获取数据,并在我自己的主题样式。

请告诉我最好的方法/函数来获取内容和风格的输出。如果你能饶了某个时候,并提前

+0

也许你会在这里找到答案:http://stackoverflow.com/questions/5045598/getting-elements-of-a-div-from-another-page -php :) – Ddorda

回答

0

我会使用HTML解析器。我用简单的HTML DOM PARSERhttp://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>'; 
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,它会转到<标题>
echo $title;
这应该显示了谷歌网站的标题末尾。

这样做的方式是通过抓取ID的方式,因为在适当的网站中,所有的ID都是唯一的。

+1

“一切都有一个id是唯一的。”情况并非总是如此。使用DOM解析器 –