【发布时间】:2018-08-17 11:32:00
【问题描述】:
我使用简单的 file_get_contents 功能从其他站点获取数据并将其放在我的站点上。
<?php
$mic1link = "https://example.com/yyy.html";
$mic2link = "https://example.com/zzz.html";
$mic3link...
$mic4link...
$mic5link...
$mic6link...
?>
<?php
$content = file_get_contents($mic1link);
preg_match('#<span id="our_price_displays" class="price" itemprop="price" content=".*">(.*)</span>#Uis', $content, $mic1);
$mic1 = $mic1[1];
?>
<?php
$content = file_get_contents($mic2link);
preg_match('#<span id="our_price_displays" class="price" itemprop="price" content=".*">(.*)</span>#Uis', $content, $mic2);
$mic2 = $mic2[1];
?>
被
激怒了 <?php echo "$mic1";?> and <?php echo "$mic2";?>
它有效,但会影响性能(延迟)。
有没有什么办法可以优化这个脚本,或者用其他方法来达到这个目的?
【问题讨论】:
-
你可以缓存它们,或者使用像 Guzzle 这样的适当的 HTTP 库到send the requests in parallel。其中哪一个更有意义将取决于您的确切用例。
-
我猜如果他们提供,他们的 api 将是做你想做的事情的唯一更快的方法
-
这些页面上的数据是否经常更新?
-
@user3783243 每天 - 一次
标签: php parsing file-get-contents