【发布时间】:2012-09-24 21:47:35
【问题描述】:
我正在尝试从网页中抓取数据。网页可以是任何页面。例如,我正在使用curl 抓取http://www.google.com/。它给出了很多警告,却什么也没做。警告在第 30 行:
警告:SimpleXMLElement::__construct(): 在 C:\wamp\www\nbacurl\index.php
而且这个错误重复了好几次。
我听说过 simplehtmldom ,我下载了它但不知道如何使用它。我有页面要解析,但我找不到出路。这是一个非常简单但不起作用的代码。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.google.com' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec ($ch);
$xml = new SimpleXMLElement($contents);
echo '<pre>' , print_r($xml) , '</pre'>;
【问题讨论】:
-
我没有看到你使用 simplehtmldom 很难......无论如何,如果该类失败(它不是最好的)尝试phpQuery
-
谢谢达米恩,我试图使用“simplehtmldom”,但它不适合我。所以我转向了非常基本的,它有 4 条卷曲线和几条 xml 线。
-
请帮我一个忙,因为我是 phpQuery 的新手,它实际上是做什么的?它就像jQuery,在哪里制作函数和调用内置函数?或者是别的什么?谢谢
-
怎么不工作了?你仔细阅读过他们的 API 吗? SimpleXMLElement 不适合解析(格式错误的)html 文档。至于phpQuery,为什么不直接看页面呢? :) 无论如何,它是一个 DOM 解析器,带有类似 jQuery 的选择器。它比 simplehtmldom 简单快捷,我(几乎)两者都没有遇到过问题
-
它不起作用 :) 所有先决条件均已验证。 curl 已安装,ini 文件已检查。我现在正在研究你建议的 phpQuery,希望我能从中得到一些东西:)
标签: php curl web-scraping