ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Парсинг HTML в Delphi
  #1  
Старый 26.12.2006, 20:59
Аватар для a1nt
a1nt
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме:
573934

Репутация: 114
По умолчанию Парсинг HTML в Delphi

В TStrings находится документ HTML.
В нем присутствует такое

Код HTML:
<td class="name"><a href="http://ссылка.ру">Какято лажа написана</a><small>Тут еще фигня, теги</small></td>
Оно повторяется много раз, причем может быть, что в одной строке несколько. Мне нужно из этой конструкции вытащить ссылки (http://ссылка.ру).
Запихнуть надо их в TStrings.
Как это можно реализовать попроще,
помогите, пжлст)

Последний раз редактировалось a1nt; 26.12.2006 в 21:01.. Причина: Забыл)
 
Ответить с цитированием

  #2  
Старый 26.12.2006, 21:01
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

Цитата:
Как это можно реализовать попроще,
помогите, пжлст)
проще всего это пишеться на Php !
так че думай.... есле че могу помочь на php сделать!
делфи я не знаю.
 
Ответить с цитированием

  #3  
Старый 26.12.2006, 21:07
Аватар для a1nt
a1nt
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме:
573934

Репутация: 114
По умолчанию

Цитата:
проще всего это пишеться на Php !
Спасибо, конечно, но программа уже практически готова (чуть не сдох!), да и должна быть на компилируемом языке.
Я тут подумал... Есть же инструменты парсинга XML, нелязя ли выполнить эту задачу с их помощью?
 
Ответить с цитированием

  #4  
Старый 26.12.2006, 21:12
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

Цитата:
Сообщение от a1nt  
да и должна быть на компилируемом языке.
знакомся: php2exe )))
 
Ответить с цитированием

  #5  
Старый 26.12.2006, 21:18
Аватар для gemaglabin
gemaglabin
Banned
Регистрация: 01.08.2006
Сообщений: 725
Провел на форуме:
7681825

Репутация: 4451


По умолчанию

Вот.должно помочь http://www.mytempdir.com/1135328
 
Ответить с цитированием

  #6  
Старый 26.12.2006, 21:26
Аватар для Ch3ck
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию

Гема Шумахер, блин... только, что написал. А нет, надо опередить...
 
Ответить с цитированием

  #7  
Старый 26.12.2006, 21:43
Аватар для a1nt
a1nt
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме:
573934

Репутация: 114
По умолчанию

Цитата:
Вот.должно помочь http://www.mytempdir.com/1135328
Спасибо. Но плиз, объясни, как сделать, чтобы он в одной строке искал несколько раз?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
s : string;
begin
For i := 0 to memo1.Lines.Count - 1 do begin
s  := memo1.Lines.Strings[i];
if pos('<td class="name"><a href',s) <> 0 then begin
s  := copy(s,pos('<td class="name"><a href=',s)+26,length(s));
s  := copy(s,0,pos('">',s)-1);
memo2.Lines.Add(s);
end;
end;
end;
Потому что он находит первую ссылки и выводит, а мне надо несколько из каждой строки. (((
 
Ответить с цитированием

  #8  
Старый 26.12.2006, 22:08
Аватар для a1nt
a1nt
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме:
573934

Репутация: 114
По умолчанию

О! Нашел проект http://www.regexpstudio.com
Видимо очень удобная вещь. Взял пример по вытаскиванию мыльников из Tstrings. Только вот что-то не глотает мое выражение
'\<td class\=\"name\"\>\<a href=\"'+'[_a-zA-Z\d\-\.]'+'\"\>'
вроде все что может мешать заэкранировал, посмотрите, плииз. Если заставлю это работать будет вообще малина. Буду искать такие же строки, а потом функцией gemaglabin`а выдергивать ссылки.
Как я понимаю язык выражений аналогичен Perl/PHP.
 
Ответить с цитированием

  #9  
Старый 26.12.2006, 22:46
Аватар для a1nt
a1nt
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
Провел на форуме:
573934

Репутация: 114
По умолчанию

<td class="name"><a href="(.*)">
Вот чего надумал. Но почему-то возвращает с переводами строки на прбелах
 
Ответить с цитированием

  #10  
Старый 26.12.2006, 23:17
Аватар для nerezus
nerezus
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме:
6490435

Репутация: 2290


Отправить сообщение для nerezus с помощью ICQ
По умолчанию

Цитата:
сть же инструменты парсинга Xml, нелязя ли выполнить эту задачу с их помощью?
Нельзя.
Легко с помощью регекспов.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTTP запрос/загрузка файла через HTML форму на Delphi cultrasta С/С++, C#, Delphi, .NET, Asm 1 21.12.2006 01:41
Поиск исходника Html Parser'a на Delphi donetsk Болталка 1 17.07.2006 13:02
Что-то типа статьи по Html. Allen Болталка 8 03.03.2006 21:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ