php - 我需要用最少 300 个元素解析巨大的 xml 数组,但是速度变慢了,我需要建议
问题描述
我正在尝试使用此代码来解析数组的 xml 元素。使用少量元素它可以正常工作,但是当元素超过 50 时,它就会出现问题。它会非常快地减慢速度,甚至进程会被堆栈。
$url=array('{250 domain names}')
foreach($url as $url){
$xml = simplexml_load_file('http://data.alexa.com/data?cli=10&dat=snbamz&url='.$url);
$rank=isset($xml->SD[1]->POPULARITY)?$xml->SD[1]->POPULARITY->attributes()->TEXT:0;
$web=(string)$xml->SD[0]->attributes()->HOST;
echo "$web ---> $rank<br>";
}
我需要至少 250 个域才能放入 php 数组,但输出会被堆栈。有没有其他的编码方法,所以输出看起来没有减慢?提前谢谢。
解决方案
正如 Barmar 指出的那样,您背靠背地执行了大量的 http 请求。可能研究批处理 curl 请求。
推荐阅读
- android - 使用 app:srcCompact(使用 VectorDrawable)在 API 级别 23 上的应用程序崩溃
- java - Java / Selenium 应用程序 - 如何获取被测应用程序的会话 ID?
- .htaccess - 使用 htaccess 在特定日期/时间重定向
- jenkins - Jenkins 从系统(Windows)加载系统环境变量
- javafx - 在不使用列表数据类型的情况下设置表视图值
- reactjs - 使用react build在react js中硬重新加载页面时找不到404
- grafana - Haproxy 导出器无法获取数据
- azure - 使用 Docker compose 时的 az container exec
- php - 会话注销后如何在laravel中重定向上一页?
- c# - c#快速截屏