从网站检索特定数据

时间:2012-10-05 12:47:22

标签: php html

我目前正在建立一个刮刀来从网站上抓取某些信息。

例如,我想获得一个餐馆的名称,地址,开放时间和时间。来自网站的电话号码。

通过使用curl,我设法从网站获取数据:

    $url = "http://localhost/test.html";
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $data = curl_exec($ch); 
    curl_close($ch);

但是,我需要一些想法,我怎么能将我的刮刀指向确切的位置来刮掉这些信息。

我尝试过正则表达式,但无法使其正常工作。

2 个答案:

答案 0 :(得分:3)

对php使用SimpleHTMLDom解析器:
http://simplehtmldom.sourceforge.net/

在此下载:
http://sourceforge.net/projects/simplehtmldom/files/

此处的文件:
http://simplehtmldom.sourceforge.net/manual.htm

这就像我有解析使用php解析HTML的最佳工具的经验...

如果没有必要,你也不需要使用curl来获取内容,因为simpleHTMLDom解析器只是使用:

$remote_html = file_get_html("http://www.somesite.com/");

答案 1 :(得分:1)

查看XPath查询:http://php.net/manual/en/domxpath.query.php

我在C#中使用等效的网站抓取方法。这里使用相同的标准。最优秀的。