Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak
Post your project for free and start receiving proposals from freelancers within minutes after publication!

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


    Another 2 proposals concealed
    1 proposal concealed
  • Profile deleted
    29 January 2020, 1:59 |

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

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

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

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

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


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


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

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

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

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

  • Profile deleted
    30 January 2020, 4:25 |

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

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

Current freelance projects in the category Desktop Apps

Account reconciliation tool with the bank, cards, and accountant

Technical Assignment: Tool for Reconciling Accounts with Bank, Cards, and AccountantGeneral Goal A local tool (script/small application in Python) is needed, which is manually run once every 1-2 months on my computer and performs reconciliation between: Invoices I issued to…

PythonDesktop Apps ∙ 21 hours 26 minutes back ∙ 34 proposals

Add pauses of 10-30 seconds between sending emails.

Hello! I am looking for an experienced 1C / BAS (BAF) programmer to promptly resolve a technical issue with email distribution.Problem essence: We use the accounting program BAF (Business Automation Framework), version 2.0. Once a month, there is a need to send about 300 emails…

Web ProgrammingDesktop Apps ∙ 6 days 13 hours back ∙ 10 proposals

Reverse engineering of console utilities for querying SSD controllers (Flash ID)

1. Purpose of the work Extraction of the application programming interface (API) for interaction with SSD/NVMe controllers from the provided set of console utilities (Phison, Silicon Motion, Realtek, Maxiotek, Marvell, JMicron, etc.). The result should be working code in C/C++…

C & C++Desktop Apps ∙ 7 days back ∙ 6 proposals

Client
Vladimir B.
Ukraine Ukraine  3  0
Project published
6 years back
80 views
Tags