Извлечь данные из HTML таблицы и записать в БД
1.
Алексей (31.07.2017 / 15:27)
День добрый господа!
Имеется простая HTML таблица на стороннем сайте.
В ней более 200 наименований и у каждого наименования несколько полей со значениями.
Мне нужно извлечь из таблицы наименование, его стоимость и сохранить к себе в бд.
Таблицу я получаю через file_get_contents и выглядит она примерно таким образом
<table id="ItemTable" class="table table-striped table-hover table-condensed">
<thead>
<tr>
<th>колонка 1</th>
<th>колонка 2</th>
<th class="text-right">колонка 3</th>
<th class="text-right">колонка 4</th>
<th class="text-right">колонка 5</th>
<th class="text-right">колонка 6</th>
<th class="text-right">колонка 7</th>
<th class="text-right">колонка 8</th>
<th class="text-right">колонка 9</th>
</tr>
</thead>
<tbody>
<tr>
<td>содержимое 1</td>
<td>содержимое 2</td>
<td>содержимое 3</td>
<td>содержимое 4</td>
<td>содержимое 5</td>
<td>содержимое 6</td>
<td>содержимое 7</td>
<td>содержимое 8</td>
<td>содержимое 9</td>
</tr>
...(еще 200+ раз повторяется)
<tr>
<td>содержимое 1</td>
<td>содержимое 2</td>
<td>содержимое 3</td>
<td>содержимое 4</td>
<td>содержимое 5</td>
<td>содержимое 6</td>
<td>содержимое 7</td>
<td>содержимое 8</td>
<td>содержимое 9</td>
</tr>
Вот из этого надо извлечь поля содержимое 1, содержимое 3, содержимое 7 для каждого наименования и записать в бд.
Кто подскажет в какэто можно реализовать или в каком направлении гуглить?
2.
Алексей (31.07.2017 / 15:54)
Прикрепляю таблицу для наглядности
3.
Алексей (31.07.2017 / 16:13)
Часть проблемы решена с помощью
$dom = new domDocument;
$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item(0)->getElementsByTagName('tr');
foreach ($rows as $row)
{
$cols = $row->getElementsByTagName('td');
echo $cols->item(0)->nodeValue.'<br>';
echo $cols->item(3)->nodeValue.'<br>';
echo '<hr>';
}
URL:
https://visavi.net/topics/43667