如何减少我的网站调用的API数量

问题描述

情况如下:

我有一个PHP网站,该网站连接到类似Amazon的API来检索数种商品的数据。

对于每种产品,我都有一个XML。我将XML文件“ file_get_contents”并回显我网站上的数据。即时进行,因此无需备份/将这些XML保存到我的Web服务器。如果数据(如股票信息)在远程站点(如Amazon)上发生更改,则股票信息将立即在我的网站上可见。

希望您能理解我的情况。没问题:

几天以来,类似Amazon的网站返回“ Too Many Requests 429”错误,并且我的网站上不再有数据。

2年没有问题。但是现在我认为像亚马逊这样的网站收紧了价格限制,或者我吸引了越来越多的访问者(实际访问者或搜索机器人)。

Amazon like的速率限制设置为每小时1200个请求。我的网站在1小时内获得了2000多次点击,因此我理解了错误的根源。

现在...避免将来发生错误的最佳方法是什么?

我是否需要将那数千个XML文件存储到我的Web服务器或数据库中,所以我不必连接到API太多次。

或者还有其他解决方案吗?也许有时间吗?还是我应该“问”谷歌不索引我的网站那么多次?还是可以通过在httaccess中缓存来完成?如果可以,请给我一段代码,我可以用它来帮助我吗?

我使用以下代码。 1小时内所有2000次匹配都使用此代码

$url = "https://amazonlikewebsite.com/catalog/v4/lists/?ids=123&limit=30&dataoutput=refinements&apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxx&format=xml";
                    
$content = file_get_contents($url);
$xml = simplexml_load_string($content);
                    
foreach ($xml->products as $product) {

    // echo data of the products
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)