Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечение ссылок из интернет страницы 
:(
    Опции темы
koven
Дата 21.7.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 21.7.2006

Репутация: нет
Всего: нет



Доброго времени суток!
Подскажите, как можно извлечь все ссылки из интернет страницы (пусть она будет сохранена на винте). Т.е. есть html-код и как из него "повыдергивать" все ссылки и сохранить их в текстовый файл (или Memo - все равно). 

Заранее всем спасибо!! 
PM MAIL   Вверх
volvo877
Дата 21.7.2006, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 14
Всего: 116



koven, вот тут я приводил код для удаления текста между определенными тегами:
http://forum.vingrad.ru/index.php?showtopi...st&p=787179

Тебе понадобится только перед удалением записать удаляемую подстроку в Memo или файл (начальный тег выбери: '<a href', а конечный: '/a>') 
PM MAIL   Вверх
BUGOR
Дата 22.7.2006, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Юзай регулярные выражения и MatchCollection, более быстрого и элегантного решения тут не найти. 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
murod
Дата 22.7.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 17.9.2005
Где: Uzbekistan/Tashke nt

Репутация: 1
Всего: 4



Что это такое MatchCollection? Можно по подробнее? 
--------------------
Люди всего мира берегите природу!  
PM MAIL ICQ   Вверх
volvo877
Дата 22.7.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 14
Всего: 116



Цитата(BUGOR @  22.7.2006,  07:17 Найти цитируемый пост)
более быстрого и элегантного решения тут не найти

Уверен? Тогда смотри:
Код
for i:=0 to Webbrowser1.OleObject.Document.Links.Length-1 do
  Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i));


И не надо в каждую дырку пихать эти регулярные выражения... 
PM MAIL   Вверх
BUGOR
Дата 22.7.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



volvo877, ты о чём дружок? В какую каждую дырку? Чем это регулярные выражения хуже твоего метода? Может тем, что код занимает на две строки больше? Но зато по скорости превосходят и никаких лишних объектов на форме(ибо этот компонент прибавляет к программе 60 Кб весу против 4 Кб от TRegExpr). Я сказал то, что считаю я нужным и в своей программе я бы использовал MatchCollection, поэтому ненужно лишних движений. И кто бы, что не говорил в парсинге сложных структурированных данных(html, xml) лучшим признанным решением является использование регулряных выражений. 

Это сообщение отредактировал(а) BUGOR - 22.7.2006, 19:14


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
Palladin
Дата 22.7.2006, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Не я бы просто просматривал бы Html сраничку(код всмысле) и удалял бы всё кроме того что занесено в теги <a href></a>, а потом всё что осталось выводил бы в мемо но уже без тегов, может и не проффесионально, но я начинающий smile 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
Alexeis
Дата 22.7.2006, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(volvo877 @  22.7.2006,  11:36 Найти цитируемый пост)
И не надо в каждую дырку пихать эти регулярные выражения... 

Да регулярные выражения имеют, конечно, свои ограниченя. Можно такое составть, что "загнется алгоритм" под тяжестью рекурсий smile , но в данном конкретном случае они самое то что надо smile . Ссылки, email - ы это класика использования регулярных выражений.   

Это сообщение отредактировал(а) alexeis1 - 22.7.2006, 20:24


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
nerezus
Дата 23.7.2006, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Код

while ($content =~
    s/\b((?:https?|ftp|file):\/\/[-\w0-9+&@#\/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#\/%=~_|])//) {
    print $1."\n";
}
 вот вчера одной девочке помогал )
хотя сам я перл ненавижу.
Тут просто все линки выдираются с абсолюьтными путями.
Но регекспы то универсальны ;)  

Это сообщение отредактировал(а) nerezus - 23.7.2006, 08:43


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.