Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


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

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

загрузить страницу, пропарсить страницу.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 11.06.2010, 23: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; 11.06.2010 в 23:12.
Alex Cones вне форума Ответить с цитированием
Старый 11.06.2010, 23:43   #4
Vikenty
Заслуженный флудер
Участник клуба
 
Аватар для Vikenty
 
Регистрация: 31.03.2010
Сообщений: 1,473
По умолчанию

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

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

загружать страницу HTTP.Get
Vikenty вне форума Ответить с цитированием
Старый 11.06.2010, 23: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, 00:00   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,002
По умолчанию

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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840