Что нового

Скопировать таблицу HTML в двумерный массив

joparezzz

Новичок
Сообщения
65
Репутация
0
Версия AutoIt: 3.3.0.

Описание:
Есть файл html, см. вложение.
В этом файле есть таблица, см. ниже.
Каким образом найти эту таблицу, в файле html, и скопировать в двумерный массив значения столбцов <td colspan="17" class="s13">Материал</td> и <td colspan="5" class="s13">Размещено</td>
Код:
<tr style="height:19px">
<td colspan="62" class="s1">Заданный материал</td>
</tr>
<tr style="height:29px">
<td colspan="4" class="s5">№ в таблице</td><td colspan="17" class="s13">Материал</td><td colspan="9" class="s13">Длина</td><td colspan="9" class="s13">Ширина режущей части</td><td colspan="9" class="s13">Кол-во</td><td colspan="5" class="s13">Размещено</td><td colspan="3" class="s13">Примечание</td><td colspan="6" rowspan="5" class="s3" style="font-size:1px"> </td>
</tr>
<tr style="height:19px">
<td colspan="4" class="s16">1</td><td colspan="17" class="s17">TA-GN 120x60</td><td colspan="9" class="s15">2000</td><td colspan="9" class="s15">0</td><td colspan="9" class="s15">50</td><td colspan="5" class="s15">15</td><td colspan="3" class="s17">DKC TA-GN 120x60</td>
</tr>
<tr style="height:19px">
<td colspan="4" class="s16">2</td><td colspan="17" class="s17">TA-GN 60x60</td><td colspan="9" class="s15">2000</td><td colspan="9" class="s15">0</td><td colspan="9" class="s15">50</td><td colspan="5" class="s15">1</td><td colspan="3" class="s17">DKC TA-GN 60x60</td>
</tr>
<tr style="height:19px">
<td colspan="4" class="s16">3</td><td colspan="17" class="s17">TA-EN 40x40</td><td colspan="9" class="s15">2000</td><td colspan="9" class="s15">0</td><td colspan="9" class="s15">50</td><td colspan="5" class="s15">12</td><td colspan="3" class="s17">DKC TA-EN 40x40</td>
</tr>
<tr style="height:19px">
<td colspan="4" class="s16">4</td><td colspan="17" class="s17">IEK 15x10</td><td colspan="9" class="s15">2000</td><td colspan="9" class="s15">0</td><td colspan="9" class="s15">50</td><td colspan="5" class="s15">3</td><td colspan="3" class="s17">IEK 15x10</td>
</tr>
<tr style="height:19px">
<td colspan="4" class="s16">5</td><td colspan="17" class="s17">IEK 80x200x3000</td><td colspan="9" class="s15">3000</td><td colspan="9" class="s15">0</td><td colspan="9" class="s15">50</td><td colspan="5" class="s15">6</td><td colspan="3" class="s17">IEK 80x200x3000</td><td colspan="6" rowspan="2" class="s3" style="font-size:1px"> </td>
</tr>
<tr style="height:15px">
<td colspan="56" class="s3" style="font-size:1px"> </td>
</tr>


Примечания: файл html во вложении
 

Вложения

  • 555.rar
    4 КБ · Просмотры: 3
Автор
J

joparezzz

Новичок
Сообщения
65
Репутация
0
Написал код:
Код:
#include <Array.au3>
$sText = FileRead(@ScriptDir & '\555.html')
;<td colspan="4" class="s16">1</td><td colspan="17" class="s17">TA-GN 120x60</td><td colspan="9" class="s15">2000</td><td colspan="9" class="s15">0</td><td colspan="9" class="s15">50</td><td colspan="5" class="s15">15</td><td colspan="3" class="s17">DKC TA-GN 120x60</td>
$avArray = StringRegExp($sText, '<td colspan="17" class="s17">(.*?)</td>'  & '.*'  &  '<td colspan="5" class="s15">(.*?)</td>', 3)
_ArrayDisplay($avArray)


Вроде как извлекает нужные данные. Как исправить структуру массива, чтоб значения '<td colspan="5" class="s15">(.*?)</td>' подставлялись во второй столбец массива


Добавлено:
Сообщение автоматически объединено:

Вроде работает:
Код:
#include <Array.au3>
$sText = FileRead(@ScriptDir & '\555.html')
$aCol0 = StringRegExp($sText, '<td colspan="17" class="s17">(.*?)</td>' & '.*' & '<td colspan="5" class="s15">.*?</td>', 3)
$aCol1 = StringRegExp($sText, '<td colspan="17" class="s17">.*?</td>' & '.*' & '<td colspan="5" class="s15">(.*?)</td>', 3)

Dim $aCol[0][0]
For $i = 0 To UBound($aCol0) - 1
	ReDim $aCol[$i + 1][2]
	$aCol[$i][0] = $aCol0[$i]
	$aCol[$i][1] = $aCol1[$i]
Next
_ArrayDisplay($aCol)
 
Верх