![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Доброго времени суток!
Пишу парсер для сайта. Собстенно там есть нейкий список элементов. Выстраиваю его в строку... элемент1<данные>|элемент2<данные>|э лемент3<данные>|элемент4 выгрубаю данные. И нужно убрать мусор после себя. я удаляю то что обозначается началом элемент1 и ищу элемент2. Но чтобы продожить разбор, нужно удалить весь текст слева(мусор оставшийся от элемент1) от обозначения элемент2: элемент2<данные>|элемент3<данные>|э лемент4 ухголова кругом уж не соображаю как это делать.. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 318
|
![]()
что-то я не совсем понял задачу, тебе нужно удалить все кроме данных?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
нет, смотрите:
Есть вот такие данные(часть из них): Код:
Ну так вот, алгоритм выгребает данные из "блок 1", и переходит к "блок 2", но т.к. идентификатора <li class="prod_list_item"> для "блок 1" больше нет(стираеся перед след. интерацией цикла), то остаётся мусор от "блок 1"... по этому, нужно удалить все, что выше "блок 2" т.е. должно стать так: Код:
Последний раз редактировалось Человек_Борща; 26.08.2011 в 17:21. |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 318
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 17.03.2009
Сообщений: 318
|
![]()
а ты вытаскиваешь артикул и цену?
Могу набросать код с использованием регулярных выражений |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Если это сторока, чем не устраивает то, что выше предложено? Вместо 'элемент2' поставить '<li class="prod_list_item">'
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
PS: залог хорошего парсера, не использовать Delete.(так как он снижает скорость+повышает расход памяти) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
fate, да имено эти данные. Спасибо, проблему решил удалением всего блокаа до </li>.
Пепел Феникса, благодарен за совет. Всем ++ |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для удаления строки | julius | Microsoft Office Excel | 28 | 03.10.2014 00:19 |
Программа для анализа строки. | Kulikcha | Помощь студентам | 2 | 23.06.2011 23:51 |
Форма для ввода строки | Ksy | JavaScript, Ajax | 2 | 16.05.2011 10:01 |
Перебор для определения строки | Maksval | Microsoft Office Excel | 8 | 24.12.2010 09:58 |
Память для динамической строки | Tirendus | Общие вопросы C/C++ | 11 | 29.04.2010 15:40 |