1

我有一个非常奇怪的问题,它只发生在我的本地 XAMPP 安装上。我有一个脚本来从页面中提取数据,使用 curl 将其打开为 googlebot,然后使用str_get_html()from simple_html_dom 提取 DOM 元素。

我收到以下错误: Fatal error: Call to a member function find() on a non-object in C:\xampp\htdocs\scraper\facebook.php on line 49

我的函数的顶部在这里(这个函数很长,所以不会全部发布,只会发布到错误):

function get_facebook_data($link)
{
    $username    = "";
    $title       = "";
    $location    = "";
    $email       = "";
    $description = "";
    $userAgent   = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';
    $url         = get_facebook_page($link);
// THE ABOVE VARIABLE IS A VALID URL IF I ECHO IT WILL GIVE: http://www.facebook.com/pages/The-Pencil-Test/179417698765073?id=179417698765073&sk=info BEFORE GIVING THE ERROR
    $ch          = curl_init();
    curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FAILONERROR, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_AUTOREFERER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 100);
    $html     = curl_exec($ch);
    $cache    = $html;
    $html2    = str_get_html($cache);
    $data     = $html2->find("span.uiButtonText");
//THE LINE ABOVE IS THROWING THE ERROR

我的脚本在在线环境中运行良好,这让我相信这是一个 xampp 问题,看起来 curl 在本地运行时出现了问题。我已curl在 xampp 中启用,它在 phpinfo() 中显示为启用;可能与我的防火墙有关吗?

非常感谢任何帮助,西蒙

编辑:

100% 是 curl 没有在本地运行,将标题更改为:find() on a non-object in XAMPP using curl and simple_html_dom

4

0 回答 0