首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP进行Web抓取

用PHP进行Web抓取
EN

Stack Overflow用户
提问于 2018-05-07 14:15:31
回答 2查看 2.2K关注 0票数 0

我想从这个网站得到所有的商品名称和价格

例如,我想搜索"apple“https://redmart.com/search/apple

我使用古特来抓取网站。到目前为止,这是获取列表中所有项的名称的代码:

代码语言:javascript
复制
$client = new Client();

$crawler = $client->request('GET', 'https://redmart.com/search/apple');

$crawler->filter('h4 > a')->each(function ($node) {
    print $node->text()."\n";
});

但当我运行代码时,它什么也不打印。如何从清单中获取所有商品的名称和价格?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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,您只需在响应上使用解码,就可以得到所需的一切。

票数 1
EN

Stack Overflow用户

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50216384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档