0

我想每隔 30 秒获取一个特定链接并在我的程序中解析它的代码。有没有办法做到这一点?

我需要获取在它的代码中发现的某些东西,这些东西总是以固定的时间间隔改变。

我已经尝试使用 aniframe并获得它的 innerHTML 但这不起作用,而且 phpfile_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 回答