Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2010, 23:49   #1
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию Получение адресов всех страниц с сайта

кто знает как получить адреса всех страниц в массив, помогите!
Vikenty вне форума Ответить с цитированием
Старый 12.06.2010, 00:02   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

загрузить страницу, пропарсить страницу.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 12.06.2010, 00:06   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Парсим по тегу href=" до следующей кавычки ".

Вот так:
Код:

Var
 I, N: Integer; // Счетчики
 St : Array of String; //Массив для ссылок
 S : String; //Исходный код страницы

Begin
S := IdHTTP1.Get('http://yandex.ru'); //Получаем код страницы
I := 0; //Обнуляем счетчик ссылок
While Pos('href="', S)<>0 Do //Пока не закончились ссылки в исходнике...
 Begin //Начинаем...

SetLength(St, I+1);//Увеличиваем вместимость массива ссылок на единицу

   N := Pos('href="', S); //Получаем позицию тега HREF
   Delete(S, 1, N + 5); //Удаляем все ДО него
   N := Pos('"', S); //Получаем позицию закрывающей кавычки
   St[I] := Copy(S, 1, N - 1);//Копируем ссылку в массив

Inc(I);//Увеличиваем счетчик ссылок
End;//Конец...
End;//По-любому конец.
Вуаля.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ

Последний раз редактировалось Alex Cones; 12.06.2010 в 00:12.
Alex Cones вне форума Ответить с цитированием
Старый 12.06.2010, 00:43   #4
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

если интернет медленный так долго будет подругому нельзя?
Vikenty вне форума Ответить с цитированием
Старый 12.06.2010, 00:48   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

всмысле долго?
сам парсинг к интернету не имеет отношения.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.06.2010, 00:50   #6
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

загружать страницу HTTP.Get
Vikenty вне форума Ответить с цитированием
Старый 12.06.2010, 00:57   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Загружается только текст исходного кода страницы, меньше уже никак.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 12.06.2010, 01:00   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы хотите пропарсить страницу не загружая её?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.06.2010, 02:02   #9
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

я думал не парся
Vikenty вне форума Ответить с цитированием
Старый 12.06.2010, 02:40   #10
-MagicAlex-
Пользователь
 
Аватар для -MagicAlex-
 
Регистрация: 28.12.2009
Сообщений: 42
По умолчанию

Не надо забывать, что в тэге href, ссылка может быть как в двойных кавычках, так и в одинарных, а может быть и вообще без кавычек...
Это в коде тоже надо бы предусмотреть
-MagicAlex- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение дескрипторов ВСЕХ сокетов. mishanama Win Api 3 18.05.2010 14:48
Получение даных c Web-страниц mephist Microsoft Office Excel 3 16.10.2009 12:42
prox server и получение всех гиперссылок с сайта xaero93 Работа с сетью в Delphi 1 15.10.2009 08:19
Реализовать перебор всех возможных IP-адресов (С++) ak74m Помощь студентам 0 09.04.2009 13:59
Как получить список всех своих ip адресов now9009 Работа с сетью в Delphi 1 18.03.2009 05:40