0

PHP の cURL メソッドと爆発メソッドを使用して、Reddit の投稿ページからリモートで賛成票を抽出しています。

非常に遅いです。ボタンをクリックしてからデータが返されるまでに数秒かかります。私の質問は、どうすれば高速化できますか? これをどこで最適化できますか? cURL が URL を取得するのが遅いですか、それともページの爆発が遅いですか?

賛成票のdivを見つけてその内容を取得する方法は次のとおりです。

function between($src, $start, $end){
    $txt = explode($start, $src);
    $txt2 = explode($end, $txt[1]);
    return trim($txt2[0]);
}

$title = between($data, '<div class="score unvoted">','</div>');

Reddit からページ データを取得するために使用している関数を次に示します。

function get_data($url) {
  $ch = curl_init();
  $timeout = 5;
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
  $data = curl_exec($ch);
  curl_close($ch);
  return $data;
}
4

1 に答える 1

0

WebGrindなどのプロファイリング ツールを調べて、速度低下が直接発生する場所を確認することをお勧めします。

ページの速度を低下させているのは cURL である可能性がありますが、プロファイリングを行わないと、確実に判断することはできません。

于 2014-01-13T15:41:51.267 に答える