Как спарсить сайт, где карточка товара в увеличенной фотографии.

Тема в разделе "Парсинг конкретных сайтов по запросу (ПЛАТНО)", создана пользователем anna-max, 13 фев 2012.

  1. anna-max

    anna-max New Member Пользователи

    Регистрация:
    28 ноя 2011
    Сообщения:
    8
    Привет! Помогите с парсингом сайта Ссылки недоступны для гостей . Дело в том, что у каждого товара нет отдельной страницы. На одной странице находятся несколько товаров, при чем карточка товара появляется при увеличении фотки. Спасибо! Заранее благодарна.
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Меню - файл - загрузить проект
     

    Вложения:

  3. anna-max

    anna-max New Member Пользователи

    Регистрация:
    28 ноя 2011
    Сообщения:
    8
    Спасииииибо!!!!!
     
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.429
    Адрес:
    Latvia
    anna-max если вам нужно спарсить однотипные повторяющиееся элементы со страницы то используйте "повторяющиеся границы"
     
  5. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    Как сопоставить категории

    Интересная ситуация получается с этим сайтом. Я посмотрел ради любопытства, но, остановился надолго. Суть вот в чём.

    1. на сайте есть меню, то, что находится слева, в меню прописаны как бы категории сайта
    2. Каждый пункт меню это ссылка, с уникальным идентификатором, он же есть категория, так как товары выводятся из каждой категории все одновременно на одну страницу.
    3. Однако, на самой странице товаров, нигде не указана категория. Есть только общая структура каталога. Она состоит из кода в котором названия категорий обрамлены ссылками, вот так

    Код:
    <a href=proc.php?link=22 class=c2>Покрывала</a>
    <a href=proc.php?link=21 class=c2>Сатин с вышивкой</a>
    
    каждая ссылка имеет уникальный идентификатор, начинающийся на ?link= ну и далее идёт название категории.

    4. Отсюда условия: надо рассортировать товары по категориям, при существующей ссылке вида:

    Код:
    ...proc.php?link=21
    и пункта меню, из которого можно забрать название категории
    Код:
    <a href=proc.php?link=21 class=c2>Сатин с вышивкой</a>
    5. Задача состоит в том, чтобы эти две вещи, ссылку и имя категории увязать вместе, и чтобы спасенный товар со страницы link=21 расположился в категории с именем, присущим этой странице
    Код:
    link=21 class=c2>Сатин с вышивкой</a>
    Реально ли решить такое?
     
  6. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Думаю, что нет, на странице нет никакой информации о текущей рубрике. Соответственно и спарсить имя рубрики нельзя.
     
  7. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    То, что информации нет, это я видел. Но видел также, что есть общие элементы,- цифры на конце ссылки - link=21, и такая же цифра у соответствующего каталога. 1. Думал как-то их объединить между собой, поставить в зависимость, чтобы сравнивались, что ли. При совпадении цифр ссылки с цифрами категории,- выводить название.
    2. Второе что думал - это постольку, поскольку каждая ссылка это отдельный каталог, может быть есть возможность каждую ссылку парсить в отдельную папку? Правда, это слишком частный случай, может быть над ним и не стоит ломать себе голову.
     
  8. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Задать границы парсинга для числа вы можете.
    Поиск-замену применить вы можете.
    Сохранять по разным папкам можно включив галочку <> (правее пути сохранения).
     
  9. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    Задать границы парсинга для числа вы можете

    По двум из трёх пунктов понятно, а вот по данному нет:
    Можно как-то выбрать только цифры? И вставить их в какую-то конструкцию?

    Надо бы рассмотреть несколько случаев

    Для рассматриваемого сайта, надо забрать цифры из ссылки

    ...proc.php?link=22
    и вставить их в конструкцию
    <a href=proc.php?link=22 class=c2>Покрывала</a>

    Есть и другая задача, похожая на эту:
    Код:
    ...Trocken-2009.html
    ...Rheingau-Rose-2008.html
    ...Werner-Riesling-Classic.html
    ...Kabinett-Trocken-2007.html
    Тут, из ссылок надо вытащить цифры, но не во всех ссылках цифры присутствуют. Там где присутствуют они имеют вид, показанный выше. тут тоже такой случай, что эти цифры только в ссылке появляются. Если бы они были во всех ссылках вроде бы было бы легче. Но они не во всех ссылках появляются. Задать к примеру вариант через GETMORECONTENT

    В общем, с цифрами пока что неясно.
     
  10. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.429
    Адрес:
    Latvia
    если нет на странице упоминаний о рубрике, то будем брать ссылки на страницу, в шаблоне вывода примерно так:
    HTML:
    [REPLACE(http://www.textiloptom.net/proc.php?link=|)]<CD_DOCURL!>[/REPLACE]
    Это лучше чем ничего, а потом только переименовать останется.
     
  11. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    Предложенная конструкция не работает

    Надо использовать вот это

    Код:
    <TOPRICE><CD_DOCURL!></TOPRICE>
    Тогда получаем циферки из ссылки

    Можно потом переименовать, но, лучше найти решение автоматического переименования.

    Если проставлять поиск-замену
    Код:
    22|Покрывала
    21|Сатин с вышивкой
    23|Наборы полотенец
    24|КПБ Поплин
    в <CD_DOCURL!> - не помогает, ничего не меняется.
    Если использовать макрос REPLACE... не знаю как задавать много вариантов? такой конструкцией (Макрос случайного вывода текста) - ({..|..|..|..}) не получится. Иначе пока не нашёл решение
     
  12. Valiks

    Valiks New Member Супер Модератор

    Регистрация:
    18 янв 2012
    Сообщения:
    554
    Адрес:
    Всё время в скэйпе
    вот решение для данного сайта
    Код:
    [FIRST_REPLACE(
    http://textiloptom.net/proc.php?link=|
    22|Покрывала
    21|Сатин с вышивкой
    23|Наборы полотенец
    24|КПБ Поплин
    )]<CD_DOCURL!>[/FIRST_REPLACE]
    на выходе получаем

    Покрывала
    Сатин с вышивкой
    Наборы полотенец
    КПБ Поплин

    Для каждой ссылки соответственно.

    Остался один для меня нерешённый вопрос. Касающийся цифр.
    я уже писал, выше, нужно вытащить из ссылок числа, которые обозначают года
    Код:
    ...Trocken-2009.html
    ...Rheingau-Rose-2008.html
    ...Werner-Riesling-Classic.html
    ...Kabinett-Trocken-2007.html
    Это легко решается через
    Код:
    <TOPRICE><CD_DOCURL!></TOPRICE>
    но есть одно НО. В ссылках попадаются и другие цифры, которые к годам отношения не имеют. Они могут быть трехзначные, двух.

    Вопрос: как вытащить только четырёхзначные цифры?

    В макросе <TOPRICE> не учтены некоторые моменты, такие как - сколько цифр должно быть после запятой (точки). Это, насколько я помню, в бухгалтерии, при работе с разными видами валют, очень важный момент.
     
    Последнее редактирование: 15 фев 2012

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