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
спросили в Навои
вопрос ГЛупый но всё таки подскажите идею для написания программы
Сам вопрос поставлен неправильно. То что ты сделаешь, продастся? кто у тебя это купит? как ты
подробнее...
спросили в Пасха
Я одного не понимаю. Почему Пасха каждый год в разные дни справляется. Определенного дня нет?
Светлое Христово Воскресение - подвижный праздник, дата которого зависит от дня весеннего
подробнее...

Что такое инициативные письма?
По функциональному признаку деловые письма делятся на:
Письма-ответы – ответы на инициативные
подробнее...

Язык программирования. С чего начать? помогите (вопрос знающим) хочу научиться взлому и д.р.
Взлом - статья в сфере киберпреступлений, за простой взлом программы или анкеты вконтакте можно
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:

!! Вопрос для программистов (Нужен совет)
Твою судьбу можешь решить только ты сам. Смотря какое программирование ты хочешь изучать. Если
подробнее...

Организовать кнопку прервать в Delphi
Заведите глобальную переменную, например NeedStop: Boolean;

var
Form1: TForm1;подробнее...

Как получить html код страницы в Android Studio, Java?
Для таких случаев, скорее всего потребуется определенная программа, но мне кажется, проще
подробнее...
 

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

Имя*

E-mail:*

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