Как поместить картинку в отдельную ячейку CSV, если конец границы установить нельзя

Тема в разделе "Границы парсинга", создана пользователем dobroe utro, 16 янв 2013.

  1. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    Как выдернуть из текста картинку и поместить её в отдельную ячейку csv, если у некоторых статей картинка есть, а у некоторых нет.

    Пример
    <div class="body"><img src="..."> Здесь основной текст.<a href="...">

    Начало парсинга= <div class="body">
    Конец парсинга= ">
    Проблем нет.
    Но если картинки нет, то парсится все, до первой ">
    Здесь основной текст.<a href="...
     
  2. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    вы просто неверно задали границы.
    <div class="body"> - этот тег не имеет никакого отношения к картинке. а конец границы вы, наоборот, поставили в зависимость от наличия рисунка.
    есть такая штука - "парсить с границами". активируйте эту опцию и задайте с ней границу так -
    <img src="..."> Здесь основной текст.<a href="...">
    возможно, после этого все наладится.
     
    Последнее редактирование: 16 янв 2013
  3. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    Границы задал верно и галочка "парсить с границами установлена".
    Как вы предложили сделать не получится, т.к. это не первая и не единственная картинка на странице и это ничего не меняет, плавает то последняя граница парсинга.

    Концу парсинга просто не за что зацепится, будь картинка обернута в див или спан, проблем нет.

    Смотрите

    Картинка есть - <div class="body"><img src="..."> Здесь основной текст.<a href="...">
    Получаем - <img src="..."> т.к. спарсено с границами

    Картинки нет - <div class="body">Здесь основной текст.<a href="...">
    Получаем - Здесь основной текст.<a href="...

    А нужно чтобы если нет картинки, то ничего бы и не парсилось.
    Хотя я прекрасно понимаю, что этот вариант не рабочий, т.к. все равно конечную границу парсинга "> он будет искать...

    Нужен вариант наподобие - задать только начальную границу парсинга до закрытия тега
     
    Последнее редактирование: 16 янв 2013
  4. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    ну тогда так:

    Картинка есть - <div class="body"><img src="..."> Здесь основной текст.<a href="...">
    Получаем - <img src="..."> т.к. спарсено с границами.

    Картинки нет - <div class="body">Здесь основной текст.<a href="...">
    Получаем - дырку от бублика, т.к. первая часть границы не найдена.

    в общем, как бы то ни было, а проблема решается изменением границ.
     
  5. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.430
    Адрес:
    Latvia
    позвольте, внесу "своих 5копеек" :D

    1. Вариант картинку берем указанием
    начало границы <div class="body">{skip}src=" и конец границы "
    2. Вариант картинку выдираем через "дополнительные настройки границ"
    Тоесть как обычно указываем границу на всю статью где есть картинка, потом выдираем через "поиск-замена" (в доп. настройках границ) таким способом
    п.с. второй вариант наверно лучше первого
     
  6. dobroe utro

    dobroe utro New Member Пользователи

    Регистрация:
    15 янв 2013
    Сообщения:
    13
    Класс, все получилось! :)
    Сделал по второму варианту

    Функционал программы не перестает удивлять, еще изучать и изучать...
    И как продумано всё и удобно.

    Спасибо вам за помощь!
     

Поделиться этой страницей