- Регистрация
- 07.06.2012
- Сообщения
- 33
- Благодарностей
- 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
Всё!
Шаблон прикрепил!
- Тема статьи
- Другое
- Номер конкурса статей
- Шестой конкурс статей
Вложения
-
91,6 КБ Просмотры: 704
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.