Fatal error: Uncaught Error: Call to a member function find() PHP simple_html_dom_parser
Fatal error: Uncaught Error: Call to a member function find() PHP simple_html_dom_parser
我只想获取span的值
这是我的代码:
<?php
include('simple_html_dom.php');
$html = file_get_html('https://ru.investing.com/commodities/gold');
echo $html->find("span[class=arial_26 inlineblock pid-8830-last]",0)->plaintext;
?>
那是我的错误:
Fatal error: Uncaught Error: Call to a member function find() on bool in /home/f0514538/domains/f0514538.xsph.ru/public_html/test/crypto/tovar/gold.php:6 Stack trace: #0 {main} thrown in /home/f0514458/domains/f0514458.xsph.ru/public_html/test/crypto/tovar/gold.php on line 6
$html
变量包含一个 boolean
false 而不是您期望的 HTML 对象。您可以通过添加
来调试它
var_dump($html);
$html 为空的原因是您尝试下载的网站有一些保护措施,没有有效的用户代理不允许下载。
最简单的解决方法是手动设置用户代理,
ini_set('user_agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36');
所以整个代码变成了
include('simple_html_dom.php');
ini_set('user_agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36');
$html = file_get_html('https://ru.investing.com/commodities/gold');
echo $html->find("span[class=arial_26 inlineblock pid-8830-last]", 0)->plaintext;
请确保您在未经同意的情况下抓取内容不会违反网站条款和条件。
我只想获取span的值
这是我的代码:
<?php
include('simple_html_dom.php');
$html = file_get_html('https://ru.investing.com/commodities/gold');
echo $html->find("span[class=arial_26 inlineblock pid-8830-last]",0)->plaintext;
?>
那是我的错误:
Fatal error: Uncaught Error: Call to a member function find() on bool in /home/f0514538/domains/f0514538.xsph.ru/public_html/test/crypto/tovar/gold.php:6 Stack trace: #0 {main} thrown in /home/f0514458/domains/f0514458.xsph.ru/public_html/test/crypto/tovar/gold.php on line 6
$html
变量包含一个 boolean
false 而不是您期望的 HTML 对象。您可以通过添加
var_dump($html);
$html 为空的原因是您尝试下载的网站有一些保护措施,没有有效的用户代理不允许下载。
最简单的解决方法是手动设置用户代理,
ini_set('user_agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36');
所以整个代码变成了
include('simple_html_dom.php');
ini_set('user_agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36');
$html = file_get_html('https://ru.investing.com/commodities/gold');
echo $html->find("span[class=arial_26 inlineblock pid-8830-last]", 0)->plaintext;
请确保您在未经同意的情况下抓取内容不会违反网站条款和条件。