delphi парсер



Delphi парсинг html

Автор Hunter342 задал вопрос в разделе Другие языки и технологии

Пишу парсер HTML на Delphi и получил лучший ответ

Ответ от Алексей Кузьминов[гуру]
Вы бы попытались всё же использовать IHtmlDocument3. Ведь именно из-за такого кода происходит торможение программы в десятки и сотни раз.
Вы что-то неверно понимаете в интерфейсах. К сожалению, не имею возможности проверить Delphi 10 Seattle и HTML библиотеку, которую вы используете. Но для объекта нормально иметь несколько интерфейсов. И я бы очень удивился, что не существует объекта, который ОДНОВРЕМЕННО поддерживает IHtmlDocument2 и IHtmlDocument3.
ЗЫ
Как код будет работать на разных платформах, зависит от реализации Html-библиотеки (то есть от связки платформа+версия).
Ваш код - заглушка, если переданный Document: IDispatch не держит IHtmlDocument3 (проверить это обязательно!). И только в этом смысле он имеет право на существование.
ЗЗЫ
я бы написал как-то так:
Result := nil;
Tags := Doc.all as IHTMLElementCollection; // гарантируйте Doc <> nil где-то выше, иначе такой вызов - это бред
if not Assigned(Tags) or (Id = '') then Exit; // любой as может неожиданно вернуть nil
for I := 0 to Tags.length do begin
Tag := Tags.item(i, EmptyParam) as IHTMLElement;
if Assigned(Tag) and (Tag.id = id) then begin
Result := Tag; Break;
end;
end;

Ответ от Jurijus Zaksas[гуру]
if Assigned(Tag) and (Tag.id <> '') then...

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Пишу парсер HTML на Delphi
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*