Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用URL PHP刮取亚马逊产品数据_Php_Web Scraping_Amazon - Fatal编程技术网

使用URL PHP刮取亚马逊产品数据

使用URL PHP刮取亚马逊产品数据,php,web-scraping,amazon,Php,Web Scraping,Amazon,我想使用PHP在亚马逊网站或ISBN上使用该产品的url来获取该产品的描述、标题、价格、数量等信息。 我该怎么做?有适合我的代码示例吗? 谢谢 使用PHP,您可以通过使用打开url和使用With regex来完成这项工作 然后,以随机的文章页面为例,浏览其html代码 通过检查代码,我们可以看到价格在特定的中: $35.00 然后我们可以做一些类似的事情: $link = 'https://www.amazon.com/Learning-PHP-MySQL-JavaScript-jQuery


我想使用PHP在亚马逊网站或ISBN上使用该产品的url来获取该产品的描述、标题、价格、数量等信息。
我该怎么做?有适合我的代码示例吗?

谢谢

使用PHP,您可以通过使用打开url和使用With regex来完成这项工作

然后,以随机的文章页面为例,浏览其html代码

通过检查代码,我们可以看到价格在特定的
中:


$35.00
然后我们可以做一些类似的事情:

$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;
}
$link=https://www.amazon.com/Learning-PHP-MySQL-JavaScript-jQuery/dp/1491978910/';
$page\u content=file\u get\u contents($link);
如果(preg_匹配('/(.**?)/i',
$page_content,$matches)){
$price=trim($matches[1]);
}否则{
echo“未找到价格。”;
$price=0;
}
这样,您就有足够的基础来重复该操作,以获取需要获取的所有其他信息


请注意,这不是最好的相关方法,因为它假设从一篇文章到另一篇文章的HTML模式总是相同的。最好的相关方法是尽可能使用他们的API。

所有这些数据都可以通过官方网站访问。亚马逊明确禁止网络抓取。这不再有效,并导致机器人检查。
$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;
}