我想从这个网站得到所有的商品名称和价格
例如,我想搜索"apple“https://redmart.com/search/apple
我使用古特来抓取网站。到目前为止,这是获取列表中所有项的名称的代码:
$client = new Client();
$crawler = $client->request('GET', 'https://redmart.com/search/apple');
$crawler->filter('h4 > a')->each(function ($node) {
print $node->text()."\n";
});但当我运行代码时,它什么也不打印。如何从清单中获取所有商品的名称和价格?
发布于 2018-05-07 14:35:03
redmart.com网站正在使用反应js生成内容。你不能使用像Goutte这样的网站刮刀。相反,尝试使用Firefox或Google中的开发者控制台,看看到底发生了什么。
在本例中,请求一个url (通过ajax)返回JSON格式,并由react:https://api.redmart.com/v1.6.0/catalog/search?q=apple&pageSize=18&sort=1024&variation=BETA呈现。
使用PHP,您只需在响应上使用解码,就可以得到所需的一切。
发布于 2018-05-08 05:27:26
不需要丢弃web,您只需在网站rest上请求并使用poutput JSON,例如,这是用于苹果清单的API:
https://api.redmart.com/v1.6.0/catalog/search?q=apple&pageSize=18&sort=1024&page=1&variation=BETA
https://stackoverflow.com/questions/50216384
复制相似问题