У меня около 20 веб-страниц. Каждая страница имеет верхнюю навигацию по баннеру, а затем информацию о 20 транспортных средствах. Есть 2 таблицы на транспортное средство.
Логическая последовательность действий: навигация по страницам, таблица 1 для транспортного средства 1, таблица 2 для транспортного средства 1, таблица 1 для транспортного средства 2, таблица 2 для транспортного средства 2, ... конец страницы.
Пример таблиц включен ниже.
Я хочу получить информацию из HTML-страниц и в базу данных.
План: разделить данные для каждого отдельного транспортного средства на отдельные файлы, а затем проанализировать / извлечь данные из файлов.
Я не понимаю, awk, поэтому я использую sed.
План извлечения: найдите строку с "car_photo", вернитесь на 4 строки (которые будут тегом таблицы), извлеките эту строку до второго тега / таблицы. Повторите до окончательного набора таблиц.
Я искал в Интернете примеры того, как заставить sed извлекаться из заданного номера строки до следующего экземпляра регулярного выражения ... он продолжает извлекаться до последнего экземпляра. И даже если это сработало, я хочу извлечь его до 2-го экземпляра.
Вот пример файла с заменой данных с более общей информацией.
32321 Марка: Модель:
Год:
VIN:
Цвет:
Год приобретения:
Пробег: Последняя замена масла: Страховой срок: Срок действия регистрации:
32322 Марка: Модель:
Год:
VIN:
Цвет:
Год приобретения:
Пробег: Последняя замена масла: Страховой срок: Срок действия регистрации:
32321 Марка: Модель:
Год:
VIN:
Цвет:
Год приобретения:
Пробег: Последняя замена масла: Страховой срок: Срок действия регистрации:
32323 Марка: Модель:
Год:
VIN:
Цвет:
Год приобретения:
Пробег: Последняя замена масла: Страховой срок: Срок действия регистрации:
32324 Марка: Модель:
Год:
VIN:
Цвет:
Год приобретения:
Пробег: Последняя замена масла: Страховой срок: Срок действия регистрации:
32325 Марка: Модель:
Год:
VIN:
Цвет:
Год приобретения:
Пробег: Последняя замена масла: Страховой срок: Срок действия регистрации:
Я попытался создать цикл, который будет работать 20 раз.
Каждый раз sed извлекает строки 1 через строку с помощью </table>
затем снова запускает sed для удаления этих строк.
Затем он извлекает строки 1 через следующую строку с помощью </table>
снова (чтобы получить 2-ю таблицу), затем sed
удаляет вторую таблицу.
Each time `sed` extracts a table, it concatenates to a new file using the loop counter.
Проблема в том, что sed
не останавливается при первом появлении </table>
. Это останавливается в последнем появлении.