Я хочу разобрать квитанции, чтобы найти их общую сумму. Квитанции поступают как HTML. Но поступления поступают от разных компаний, поэтому имеют разные HTML структуры. Например, это может быть (это примеры из реальной жизни):
Компания 1: Внутренний интервал
<span style="font-size: small;">
Amount: $17.85USD Status: Paid<br>Transaction #: 1<br>
</span>
Компания 2: один тр в таблице
<tr>
<td style="height:17px; color:black;"><strong>Total</strong></td>
<td style="text-align:right; color:black;"><strong>15.90€</strong></td>
</tr>
Компания 3: таблица внутри td из внешней таблицы
<td style="border: 0;border-collapse: collapse;margin: 0;padding: 0;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;width: 472px;">
<table style="border: 0;border-collapse: collapse;margin: 0;padding: 0;width: 100%;">
<tbody>
<tr>
<td style="border: 0;border-collapse: collapse;margin: 0;padding: 0;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;" valign="top">
<table style="border: 0;border-collapse: collapse;margin: 0;padding: 0;">
<tbody>
<tr>
<td style="border: 0;border-collapse: collapse;margin: 0;padding: 0;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, sans-serif;mso-line-height-rule: exactly;vertical-align: middle;color: #8898aa;font-size: 12px;line-height: 16px;white-space: nowrap;font-weight: bold;text-transform: uppercase;">
Amount paid
</td>
</tr>
<tr>
<td style="border: 0;border-collapse: collapse;margin: 0;padding: 0;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, sans-serif;mso-line-height-rule: exactly;vertical-align: middle;color: #525f7f;font-size: 15px;line-height: 24px;white-space: nowrap;">
£4.50
</td>
</tr>
</tbody>
</table>
</td>
Как бы вы создали алгоритм, который был бы наиболее перспективным для анализа новых поступлений от других компаний:
- Алгоритм с много жестко закодированных путей (tr, таблица в td, span, p, много if / thens), жесткое кодирование новых путей, когда мы находим новые возможности?
- Подойдет ли здесь работа по машинному обучению?
Редактировать: в HTML я показываю только общую сумму, но может быть несколько полей с денежными суммами. Я только хочу получить общую сумму. Обратите внимание, что это не всегда самая большая сумма на странице, так как могут быть скидки.