Спарсить все тайтлы с указанного сайта

12 3
TAFF
На сайте с 28.08.2008
Offline
140
2191

Здравствуйте!

Необходимо спарсить тайтлы всех страниц указанного сайта, чем это можно сделать?

То есть скрипт/софт бегает по УРЛам сайта и сохраняет <title>содержимое</title> каждой страницы

✓ Администрирование (/ru/forum/494299) | ✓ Домены (/ru/forum/298049) | ✓ Продажа аккаунтов narod.ru (/ru/forum/585347)
ewg777
На сайте с 04.06.2007
Offline
225
#1

Можно. Проще будет wget -r, далее парсить заголоки.

TAFF
На сайте с 28.08.2008
Offline
140
#2

ewg777, Не совсем разбираюсь (VPS есть, но с ним на Вы) не могли бы Вы скинуть готовую солюшину?

ewg777
На сайте с 04.06.2007
Offline
225
#3
TAFF:
ewg777, Не совсем разбираюсь (VPS есть, но с ним на Вы) не могли бы Вы скинуть готовую солюшину?

Опять и снова.

Технические вопросы > Веб-строительство

Здесь принято/положено/надо обсуждать именно техническую сторону вопроса.

Хотите солюшн? В спец раздел или обращайтесь лично к специалистам.

Real
На сайте с 24.05.2006
Offline
61
#4

TAFF, карта хмл сайта есть?

он самый (http://alexvolkov.ru)
KU
На сайте с 17.07.2008
Offline
251
#5

Есть похожий софт, могу заточить под этот вопрос и пропарсить что нужно. Сам софт дать не могу.

Хостинг ( https://good-host.net ) / Linux VPS ( https://good-host.net/vps ) / Windows VPS ( https://good-host.net/windows-vps ) / Выделенные серверы ( https://good-host.net/dedicated ) 14 лет онлайн!
TAFF
На сайте с 28.08.2008
Offline
140
#6
Real:
TAFF, карта хмл сайта есть?

Нету

KM.UA:
Есть похожий софт, могу заточить под этот вопрос и пропарсить что нужно. Сам софт дать не могу.

Хрефер?

TAFF добавил 20.02.2010 в 15:35

Real:
TAFF, карта хмл сайта есть?

Протупил... Есть!

Deler
На сайте с 20.02.2007
Offline
78
#7
TAFF:
Протупил... Есть!

а там разве тайтлы не указаны?? может банально убрать не нужные тэги и пересохранить в нужный формат.

Фтопку скучные выходные! Веселись в месте с Сапой (http://www.sape.ru/r.ZpKTpFrELe.php) Эффективное продвижение сайтов - ВебЭффектор (http://client.webeffector.ru/registration.html?invitation=1e8ca836c962598551882e689265c1c5). (http://vremiakino.com/)
TAFF
На сайте с 28.08.2008
Offline
140
#8
Deler:
а там разве тайтлы не указаны?

Нет, не указаны...

Вообще желательно не привязываться к карте сайта, она есть не везде, желательно:

TAFF:
скрипт/софт бегает по УРЛам сайта и сохраняет <title>содержимое</title> каждой страницы
KU
На сайте с 17.07.2008
Offline
251
#9
TAFF:
Хрефер?

Самописный.

Real
На сайте с 24.05.2006
Offline
61
#10

Тогда все легко и просто

<?php
$url = "http://site.ru/sitemap.xml";

function FetchUrl($url, $postvars, $timeout, $ref, $blank){
sleep($timeout);
echo @date("r")." fetching $url \r\n";
$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_TIMEOUT,30);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_URL, trim($url));
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
$result = curl_exec($ch);
if($blank == "1"){
$result = preg_replace("/\n/", "", $result);
$result = preg_replace("/\r/", "", $result);
}
curl_close($ch);
return $result;
}


$page = FetchUrl($url, NULL, NULL, NULL, NULL);
preg_match_all("!<loc>(.*?)<\/loc>!si", $page, $out);

foreach($out[1] as $link){
$page = FetchUrl($link, NULL, NULL, NULL, NULL);
preg_match("!<title>(.*?)<\/title>!si", $page, $tit);
exec("echo '".$link."|".trim($tit[1])."' >> ready.txt");


}

?>

урлы в файле ready.txt

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий