Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Opublikuj swoje zlecenie za darmo i otrzymaj oferty od wykonawców freelancerów już minutę po opublikowaniu!

[Delphi] Доработка библиотеки HTMLp (библиотека для парсинга)


    Jeszcze 2 ofert jest ukrytych
    1 oferta jest ukryta
  • Profil został usunięty
    29 stycznia 2020, 1:59 |

    Яка знайома проблема, аж скупа чоловіча сльоза на ясні очі навернулась.

    Значить, рішень у вас рівно два: 

    - визначаєте тег, вміст якого вважаєте "шлаком", і ніяк не парсите, просто шукаєте закриваючий тег вліво.

    - парсите ВСЕ до перемоги.

    В обох випадках маєте "прелесті" із спотиканнями парсера ранійше ніж потрібно (перший випадок) і шлак на вихлопі, або пізнійше ніж потрібно (другий випадок, за умови порушення консистентності тегів) із забитим стеком, витоками пам'яті, незакритими розгалуженнями при додавання чайлдів і т.д. і т.п.


    Як вихід бачу попередню валідацію консистенстності за стратегією "парсим ВСЕ" (включаючи script та ін, вважаючи їх так само деревовидними), і у випадку спотикання ігнорим ВСЕ, тикаючи вказівник де відбулась неконсистентність.


    Якщо незрозуміло висловився - питайте в ПП.

  • Vladimir B.
    29 stycznia 2020, 21:43 |

    Добрый вечер.

    Это мысли относительно внесения изменений именно в данную библиотеку, или о решении проблемы в общем?

  • Profil został usunięty
    30 stycznia 2020, 4:25 |

    І те і друге одночасно. Справа в тому, що якщо ви збираєтесь ігнорувать вміст якоїсь ноди, ви всеодно мусите її розпарсить, інакше не отримаєте що саме ігнорувати. Якщо парсер розбирає текст нормально, проблем немає (хіба затрати часу), якщо текст нормально НЕ розбирається, то його і НЕ слід розбирати на складові, бо інформація про структуру в ньому ВТРАЧЕНА. Дана реалізація не стійка, тому що сходу намагається розбирати на іерархію, і щось йде не так.

    Вихід: розбить на два етапи - розібрать структуру, і тільки потім, якщо не було проблем, розбирать на токени.

Aktualne zlecenia dla freelancerów w kategorii Aplikacje desktopowe

Dodać przerwy 10-30 sekund między wysyłkami e-maili

Witam! Szukam doświadczonego programisty 1C / BAS (BAF) do szybkiego rozwiązania problemu technicznego z wysyłką maili.Istota problemu: Używamy programu księgowego BAF (Business Automation Framework), edycja 2.0. Raz w miesiącu pojawia się potrzeba masowego wysyłania klientom…

Programowanie stron internetowychAplikacje desktopowe ∙ 4 dni 23 godziny temu ∙ 10 ofert

Rewersowe inżynieria konsolowych narzędzi do ankietowania kontrolerów SSD (Flash ID)

1. Cel pracy Wydzielenie interfejsu programowania aplikacji (API) do interakcji z kontrolerami SSD/NVMe z dostarczonego zestawu narzędzi konsolowych (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron itd.). Wynikiem ma być działający kod w języku C/C++ lub dokładna…

C i C++Aplikacje desktopowe ∙ 5 dni 10 godzin temu ∙ 5 ofert

Modyfikacja w pracy emulatora

163 PLN

Witaj. Ściągnąłem z Internetu emulator automatu do gier gaminator cf final. Bardzo mi się podoba, ale są tam niedociągnięcia. Jest panel administracyjny, ale otwiera się swobodnie, a nie zamyka w ogóle. Zamyka się tylko razem z aplikacją. A dane po zmianach w panelu…

Aplikacje desktopowe ∙ 13 dni temu ∙ 10 ofert

Zleceniodawca
Vladimir B.
Ukraina Ukraina  3  0
Zlecenie zostało opublikowane
6 lat temu
80 wyświetleń
Tagi