Проверка домена на наличие в web.archive

Ruslanych

Создатель
Регистрация
17 Фев 2009
Сообщения
37
Реакции
8
Подскажите, как php скриптом массово проверить домены на наличие в web.archive, желательно с количеством сохраненных там страниц?

Может у кого готовый скрипт есть?
 
У меня что-то такое было, но сейчас вебархив поменял у себя там полностью интерфейс, пути и т.п., и это не работает, так что наверное лучше у кого-то скрипт заказать.
 
Заказать то можно, но хочется сделать самому...
Я же не парсер хочу сделать, а элементарную проверку наличия сайта в архиве.
 
для одного домена вот если надо много особого труда дописать не составит я думаю
PHP:
<?php 
$domen = 'http://google.com'; //подопытный домен

function get_web_page( $url )
{
  $uagent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8";

  $ch = curl_init( $url );

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // возвращает веб-страницу
  curl_setopt($ch, CURLOPT_REFERER,"http://google.com");
  curl_setopt($ch, CURLOPT_HEADER, 0);           // не возвращает заголовки
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 10);   // переходит по редиректам
  curl_setopt($ch, CURLOPT_ENCODING, "");        // обрабатывает все кодировки
  curl_setopt($ch, CURLOPT_USERAGENT, $uagent);  // useragent
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); // таймаут соединения
  curl_setopt($ch, CURLOPT_TIMEOUT, 10);        // таймаут ответа
  curl_setopt($ch, CURLOPT_MAXREDIRS, 10);       // останавливаться после 10-ого редиректа
   
  $content = curl_exec( $ch );
  $err     = curl_errno( $ch );
  $errmsg  = curl_error( $ch );
  $header  = curl_getinfo( $ch );
  curl_close( $ch );

  $header['errno']   = $err;
  $header['errmsg']  = $errmsg;
  $header['content'] = $content;
  return $header;
}
$url = 'http://wayback.archive.org/web/*/'.$domen.'*';
$result = get_web_page( $url );
$content = $result['content'];
//echo $content;
preg_match('/<h2 class=\"green\">(.*?)URLs have been captured for this domain\.<\/h2>/si',$content,$match);
if(isset($match[1])) {$pages = $match[1]; 
echo 'В вебархиве '.trim($pages).' страниц сайта<br>';}
else {echo 'Такого сайта нет в архиве<br>';}
 
Назад
Сверху