- Регистрация
- 07.06.2012
- Сообщения
- 34
- Реакции
- 22
- Баллы
- 8
Привет, Всем.
Я расскажу про свой шаблон, который позволит собирать карту любого сайта, не цепляя при этом какие-то другие внешние ссылки.
Также в шаблоне можно будет редактировать уровень вложенности, с какой страницы можно начать парсинг, и по какому именно домену собирать ссылки. Можно например собирать только ссылки поддомена.
Вид шаблона целиком:
Шаблон взаимодействует с тремя файлами:
temp.txt - содержит формат "ссылка для дальнейшей обработки;её уровень вложенности"
blacklist.txt - содержит "обработанная ссылка", чтобы не повторять обработку одних и тех же ссылок многократно
result.txt - содержит "ссылка|титл"
При первом запуске шаблона, необходимо чтобы файл result.txt был удален. Ибо при первом запуске первый запущенный поток идет на главную страницу при отсутствии файла, а иначе он пойдет в файл temp.txt, который по логике должен быть пуст. Сделанно для работы в многопоток, и чтобы при прерывании шаблона или перезагрузки инстанса можно было не начинать сначала.
Шаблон состоит из:
1. Проверка первый ли это запуск
2. Переход страницу, получение информации со страницы (ссылки, титл)
3. Проверка отсутствия полученных ссылок в блеклисте, проверка удолитворению уровня вложенности
Расмотрим детальнее.
Входные настройки шаблона:
---------------------------------------------------------------
Проверяем наличие файла result.txt, если его нет, то создаем пустой result.txt и идем на главную, если есть, то значит у нас уже есть какие-то обработанные страницы, а значит и ссылки с этих страниц для обработки, которые будут лежать в temp.txt и следовательно идем на обработку файла temp.txt
---------------------------------------------------------------
Переходим на начальную страницу. Сохраняем её ссылку и титл в result.txt и просто ссылку в blacklist.txt
---------------------------------------------------------------
Увеличиваем счетчик вложенности. Что бы сохранять ссылки со страницы с тем уровнем вложенности который у них будет. Обнуляем счетчик внутренних ссылок на странице. Получаем href внутренней ссылки путем проставления обязательного атрибута href, которой должны содержать наш домен указанных во входных настройка.
Очищаем у урла всё со со знака #, чтобы отсечь ссылки ведущие на одни и теже страницы, но с фокусацией на разных участках.
---------------------------------------------------------------
Проверяем отсутствие полученного урла в blacklist (уже обработанные ранее).
Добавляем в blacklist. Добавляем в temp на обработку.
---------------------------------------------------------------
Берем ссылку с её уровнем вложенности, парсим с неё титл. Сохраняем в результат. Проверяем меньше ли её вложенность, максимально допустимому, если меньше, то начинаем парсить сссылки, чтобы получить ссылки с ещё более глубоким уровнем вложенности. Иначе берем следующую строку из temp.txt
Всё!
Шаблон прикрепил!
Я расскажу про свой шаблон, который позволит собирать карту любого сайта, не цепляя при этом какие-то другие внешние ссылки.
Также в шаблоне можно будет редактировать уровень вложенности, с какой страницы можно начать парсинг, и по какому именно домену собирать ссылки. Можно например собирать только ссылки поддомена.
Вид шаблона целиком:
Шаблон взаимодействует с тремя файлами:
temp.txt - содержит формат "ссылка для дальнейшей обработки;её уровень вложенности"
blacklist.txt - содержит "обработанная ссылка", чтобы не повторять обработку одних и тех же ссылок многократно
result.txt - содержит "ссылка|титл"
При первом запуске шаблона, необходимо чтобы файл result.txt был удален. Ибо при первом запуске первый запущенный поток идет на главную страницу при отсутствии файла, а иначе он пойдет в файл temp.txt, который по логике должен быть пуст. Сделанно для работы в многопоток, и чтобы при прерывании шаблона или перезагрузки инстанса можно было не начинать сначала.
Шаблон состоит из:
1. Проверка первый ли это запуск
2. Переход страницу, получение информации со страницы (ссылки, титл)
3. Проверка отсутствия полученных ссылок в блеклисте, проверка удолитворению уровня вложенности
Расмотрим детальнее.
Входные настройки шаблона:
---------------------------------------------------------------
Проверяем наличие файла result.txt, если его нет, то создаем пустой result.txt и идем на главную, если есть, то значит у нас уже есть какие-то обработанные страницы, а значит и ссылки с этих страниц для обработки, которые будут лежать в temp.txt и следовательно идем на обработку файла temp.txt
---------------------------------------------------------------
Переходим на начальную страницу. Сохраняем её ссылку и титл в result.txt и просто ссылку в blacklist.txt
---------------------------------------------------------------
Увеличиваем счетчик вложенности. Что бы сохранять ссылки со страницы с тем уровнем вложенности который у них будет. Обнуляем счетчик внутренних ссылок на странице. Получаем href внутренней ссылки путем проставления обязательного атрибута href, которой должны содержать наш домен указанных во входных настройка.
Очищаем у урла всё со со знака #, чтобы отсечь ссылки ведущие на одни и теже страницы, но с фокусацией на разных участках.
---------------------------------------------------------------
Проверяем отсутствие полученного урла в blacklist (уже обработанные ранее).
Добавляем в blacklist. Добавляем в temp на обработку.
---------------------------------------------------------------
Берем ссылку с её уровнем вложенности, парсим с неё титл. Сохраняем в результат. Проверяем меньше ли её вложенность, максимально допустимому, если меньше, то начинаем парсить сссылки, чтобы получить ссылки с ещё более глубоким уровнем вложенности. Иначе берем следующую строку из temp.txt
Всё!
Шаблон прикрепил!
- Номер конкурса статей
- Шестой конкурс статей
- Тема статьи
- Другое



