我目前正在建立一个刮刀来从网站上抓取某些信息。
例如,我想获得一个餐馆的名称,地址,开放时间和时间。来自网站的电话号码。
通过使用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);
但是,我需要一些想法,我怎么能将我的刮刀指向确切的位置来刮掉这些信息。
我尝试过正则表达式,但无法使其正常工作。
答案 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#中使用等效的网站抓取方法。这里使用相同的标准。最优秀的。