0

30 秒間隔ごとに特定のリンクを取得し、プログラム内のコードを解析したいと考えています。これを行う方法はありますか?

コード内で一定の間隔で常に変化する特定のものを取得する必要があります。

iframeを使用して innerHTML を取得しようとしましたが、それは機能せず、php もfile_get_contents()機能しません。

4

3 に答える 3

3

これを使ってみませんか? http://davidwalsh.name/download-urls-content-php-curl

コード

 /* gets the data from a URL */
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;
}

次に、で呼び出します

$returned_content = get_data('http://davidwalsh.name');

(デビッド・ウォルシュの功績)

于 2012-04-24T15:33:52.000 に答える
0

iframe を使用して innerHTML を取得しようとしましたが、うまくいきません

それは同じオリジンポリシーに遭遇します

また、php の file_get_contents() が機能しません

データが HTML 自体にある場合は、そうする必要があります (PHP のインストールで機能が無効にされていない限り)。

スクレイピングしようとしているサイトが、不正なクローラーをブロックするための措置を講じている可能性があります。

(そして、サードパーティのサイトにアクセスして、30 秒ごとに HTML をスクレイピングするのは、かなり乱暴に聞こえます)。

于 2012-04-24T15:34:21.430 に答える
0

file_get_contentサーバーで無効になっているため、機能しません (おそらくセキュリティ上の理由から)。有効にするか、cURL を使用することができます。

于 2012-04-24T15:34:26.290 に答える