HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 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
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
С нами: 10578566

Репутация: 1228


По умолчанию

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

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

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

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

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

Репутация: 1228


По умолчанию

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

  #5  
Старый 26.12.2006, 21:18
gemaglabin
Banned
Регистрация: 01.08.2006
Сообщений: 725
С нами: 10408706

Репутация: 4451


По умолчанию

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

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

Репутация: 1879


По умолчанию

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

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

Репутация: 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
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
С нами: 10736573

Репутация: 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
Участник форума
Регистрация: 16.12.2005
Сообщений: 146
С нами: 10736573

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

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

  #10  
Старый 26.12.2006, 23:17
nerezus
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами: 11444066

Репутация: 2290


По умолчанию

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



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
HTTP запрос/загрузка файла через HTML форму на Delphi cultrasta С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 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 ™ © 2001- Antichat Kft.