【发布时间】:2018-12-15 20:30:24
【问题描述】:
我想使用 PHP 来抓取产品的信息,例如描述、标题、价格、数量等,使用亚马逊网站中产品的 url 或使用在 ISBN 上的使用。
我该怎么做?有适合我的代码示例吗?
谢谢!
【问题讨论】:
-
所有这些数据都可以通过官方Amazon Product Advertising API获取。亚马逊明确禁止网络抓取。
标签: php web-scraping amazon
我想使用 PHP 来抓取产品的信息,例如描述、标题、价格、数量等,使用亚马逊网站中产品的 url 或使用在 ISBN 上的使用。
我该怎么做?有适合我的代码示例吗?
谢谢!
【问题讨论】:
标签: php web-scraping amazon
使用 PHP,您可以通过使用 file_get_contents() 打开网址并使用带有正则表达式的 preg_match() 来完成工作。
然后,随机取一个文章页面,浏览其html代码,例如https://www.amazon.com/Learning-PHP-MySQL-JavaScript-jQuery/dp/1491978910/
通过检查代码,我们可以看到价格在特定的<span>:
<span class="a-size-medium a-color-price header-price">
$35.00
</span>
然后我们可以这样做:
$link = 'https://www.amazon.com/Learning-PHP-MySQL-JavaScript-jQuery/dp/1491978910/';
$page_content = file_get_contents($link);
if(preg_match('/<span class=\"a-size-medium a-color-price header-price\">(.*?)<\/span>/i',
$page_content, $matches)) {
$price = trim($matches[1]);
} else {
echo "Price not found.";
$price = 0;
}
那么你在这里有足够的基础来重复操作来获取你需要获取的所有其他信息。
请注意,这不是最好的相关方法,因为它假定 HTML 模式在一篇文章到另一篇文章中总是相同的。最好的相关方法是尽可能使用他们的 API。
【讨论】: