Парсер wayback.archive.org
Парсер должен быть написан на php, порядок его работы:
1) Главная страница представляет из себя textarea, в которую пользователь заносит список доменов (каждый с новой строки), кнопку старт и поля с настройками (см. ниже).
2) После нажатия на кнопку, скрипт по очереди обрабатывает каждый домен: идет на страницу
http://wayback.archive.org/web/*/site.ru*
(где site.ru - один введенный домен), на ней есть все страницы, сохраненные в wayback.archive.org для этого домена.
3) Скрипт парсит все страницы, полученные из п.2. Если в вебархиве только один "снимок" страницы, то ссылку на нее мы получим сразу из п.2, если несколько, то из п.2 мы получим ссылку на календарь из которого мы должны взять последний снимок этой страницы.
Требуется обработка всех вариантов ответа сайта wayback.archive.org. Если сайт временно не доступен, работа должна прерываться, должно выводиться соответствующее предупреждение.
4) Каждая полученная страница обрабатывается библиотекой http://www.keyvan.net/2010/08/php-readability/ (она обрезает все меню, header, footer), там несложно.
5) После того, как скрипт получил все страницы и пропустил через php-readability, проводится дополнительная обработка:
- вырезаем все внешние ссылки (учитываем, что и внешние и внутренние ссылки на полученных страницах идут через редирект wayback.archive.org)
- исключаем все страницы, текста (без тегов) в которых меньше 500 символов (кол-во задается в настройках на главной)
- если получилось, что на нескольких страницах одинаковый текст, оставляем только одну, остальные исключаем
- внутренние ссылки на те страницы, что мы не исключили оставляем, все остальные - вырезаем (но сами урлы нужны будут позже в п.6).
6) Все страницы, которые не были исключены, мы сохраняем в папку site.ru/public_html (можно поменять в настройках на главной) под именами 1.html, 2.html и т.д. (главная сохраняется как index.html)
Если урл представляет из себя картинку, то она сохраняется в site.ru/public_html/images/ под именем 1.png, 2.jpg и т.д.
Файлы скриптов, стили, флеш сохранять не нужно.
При этом параллельно создается файл .htaccess в который добавляются инструкции, которые редиректят со старого адреса на новый. Например, мы скачали из архива страницу, оригинальный адрес которой был www.site.ru/index.php?param и сохранили ее под именем 1.html. В файле .htaccess в папке site.ru/public_html должна быть инструкция для редиректа с index.php?param на 1.html
Для урлов всех исключенных страниц, а так же урлов, полученных из внутренних ссылок в п.5, должен быть редирект на главную страницу.
Все оставленные в п.5 внутренние ссылки меняем с учетом новых имен (1.html и т.п.). Все теги изображений так же должны быть обработаны (у изображений новые имена), если изображения не было сохранено, то тег вырезается. Все пути должны быть относительными.
7) Сохраненные страницы сохраняются в обычный html документ с кодировкой utf-8. Кроме контента полученного из php-readability мы сохраняем так же оригинальный тег . Внизу каждой страницы мы вставляем карту сайта, содержащую все сохраненные страницы (<a href="/index.html">/</a> <a href="/1.html">1</a> <a href="/2.html">2</a> и т.д.) </p><p> </p><p>8) В итоге, для введенного в начале <a href="http://site.ru">site.ru</a> мы получим папку <a href="http://site.ru/public_html/">site.ru/public_html/</a> </p><p> </p><p>файлы страниц в ней </p><p><a href="http://site.ru/public_html/index.html">site.ru/public_html/index.html</a> </p><p><a href="http://site.ru/public_html/1.html">site.ru/public_html/1.html</a> </p><p><a href="http://site.ru/public_html/2.html">site.ru/public_html/2.html</a> </p><p>и т.д. </p><p> </p><p>файл с редиректами </p><p><a href="http://site.ru/public_html/.htaccess">site.ru/public_html/.htaccess</a> </p><p> </p><p>папку с картинками </p><p><a href="http://site.ru/public_html/images/1.png">site.ru/public_html/images/1.png</a> </p><p><a href="http://site.ru/public_html/images/2.png">site.ru/public_html/images/2.png</a> </p><p>и т.д. </p><p> </p><p>В общем, отдельный сайт на html, сохраненный локально. После загрузки на хостинг должен работать. </p><p> </p><p> </p><p> </p><p>Если есть вопросы/уточнения - спрашивайте не стесняйтесь. Оплата по факту, или частями по факту, или через сделку без риска WebMoney или Я.Деньги. </p><p> </p><p>Выслушаю предложения по срокам и стоимости.</p>