Техника поиска страниц по ссылке - PullRequest
0 голосов
/ 19 июня 2011

Я планировал написать отличный инструмент для SEO и хочу узнать, как найти страницы по статической / динамической ссылке на сайт.

У меня просто будет домен, например www.yahoo.com, и моя система должна найти все страницы, которые существуют на этом хосте.

Существуют ли методы для этого? Я могу использовать любой язык, но я думаю, что .NET действительно улучшит ситуацию.

Ответы [ 2 ]

0 голосов
/ 21 июня 2011

Вы не можете просто «волшебным образом» найти все страницы, которые существуют в домене, если нет карты сайта (которая не будет существовать большую часть времени).

Вот что вы можете сделать 1. Грубыйсила - это плохая идея, так как это займет очень очень много времени.2. Регулярное выражение над исходным кодом - ищите регулярные выражения в тегах

2 - ваш лучший выбор, так как он будет предоставлять все ссылки на этой странице.Я хотел бы рассмотреть возможность добавления рекурсивной функциональности, чтобы вы «пауковали» и выполняли одну и ту же операцию регулярного выражения на всех страницах, найденных в семени.

Вот алгоритм

  1. Начните с начального числа (например: www.yahoo.com)

  2. Выполните регулярное выражение для исходного кода этой страницы и сохраните все ссылки в структуре данных

  3. Рекурсивно звоните # 1 по каждой ссылке, найденной в # 2.Возможно, вы захотите ограничить это только ссылками, которые живут на начальном домене (то есть: начинайте с или содержат www.yahoo.com), а также исключая ссылки на страницы, которые вы уже посетили

Для этого типа реализации идеально подойдет структура данных дерева с шаблоном проектирования посетителей.

0 голосов
/ 19 июня 2011

Я думаю, вам почти наверняка придется проанализировать код страницы для ссылок на HREF =

. Вы можете запросить URL, используя System.WebRequest.Create(uri), а затем Regex в потоке ответов.

Iнаверняка было бы интересно, если бы был более легкий путь в .Net.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...