我在Laravel中使用Scarp函数时遇到一些问题。 该函数正在返回所抓取数据的值,但是下面显示了一条消息。
UnexpectedValueException: The Response content must be a string or object implementing __toString()
我在这里做什么错了?
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Goutte;
class ScraperController extends Controller
{
public function index(){
$price = $this->getPrice();
return $price;
}
public function getPrice(){
$final_price = '';
$crawler = Goutte::request('GET', 'https://www.aliexpress.com/item/Cable-Chompers-Animal-Protectors-Bite-Cable-Bite-Protector-Saver-For-Iphone-USB-Charger-Cable-Cute-Cartoon/32917115384.html');
$crawler->filter('#j-sku-price')->each(function ($node) {
$price = $node->text();
print($price);
});
return true;
}
}
答案 0 :(得分:1)
索引函数中的$price
变量采用布尔值。在getPrice()
中,您必须返回string
(或对象)而不是boolean
。例如:
public function getPrice(){
// ...
return $final_price; // if the value of $final_price is what you want
}
答案 1 :(得分:0)
实际上,当我删除return true
时,一切正常。谢谢!