微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我需要用最少 300 个元素解析巨大的 xml 数组,但它变慢了,我需要建议

如何解决我需要用最少 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 请求。

https://www.php.net/manual/en/function.curl-multi-init.php

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。