1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Подскажите новичку

Тема в разделе "Техническая поддержка", создана пользователем Kreola, 8 окт 2014.

  1. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Суть не в арабском, Если я пытаюсь сделать по логике, то получается так.
    [​IMG]
    1) Формируем формат результата
    2) Формируем списки замен.
    3) Парсим резуьтат.
    На деле же пункты 2 и 3 меняются местами.
    Покажите пожалуйста на примере, как это должно выглядеть, либо ткните носом, где почитать про это.
    Спасибо.
    Вы говорите разобраться с основами, но в документации нет ни слова про нормальный рабочий пример, там только обрывки всяких задач, которые показывают только поверхностно, что умеет парсер, а не как пользоваться в той или иной ситуации.
     
  2. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    куда меняются? вот порядок обхода запроса http://a-parser.com/wiki/query-results-relation/

    какие обрывки? на форуме уже десятки примеров как пользоваться Parse custom, если в арабском не суть то вот очередной пример
    [​IMG]
     
  3. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Вот пример как избавиться от кучи ручных замен используя возможности шаблонизатора:
    Код:
    [% replace = {'0' => 'a', '1' => 'b', '2' => 'c', '3' => 'e'};
    FOREACH item = p1.numbers;
     FOREACH replace;
      item.number = item.number | replace(key, value);
     END;
     item.number _ "\n";
    END;
    -%]
     
    Kreola нравится это.
  4. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Здравствуйте!
    Еще вопросик.
    Вот я создал тестовый запрос. Я могу каким-то образом увидеть результат в логе? т.е. чтоб вывелось то что я пытаюсь засунуть в конечный файл.
    Спасибо.
    [​IMG]
     
  5. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Да, результат отображается непосредственно в конце лога, т.е. в данном случае результат пустой
     
  6. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Приветствую снова.
    Помаленьку вникаем) однако возник вопрос, каким образом передавать данные из одного парсера в другой?
    к примеру 1-й собирает ссылки и фильтрует их, а второй уже конкретную инфу с ссылок что собрал первый?
    a-parser3.png
     
  7. Bran

    Bran A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    31 авг 2013
    Сообщения:
    32
    Симпатии:
    3
    Никак
     
  8. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Верно, просто разбиваем на 2 задания
     
  9. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    И снова здравствуйте!
    Вопрос:
    Имеем 2 регулярных выражения которые собираются в 2 разных массива. Каким образом их объединить в один и почистить?
    [​IMG]
    или будет достаточно указать 1 и тот же массив?
    И как дальше чистить мусор?
    Если к примеру регулярка забирает не ссылку а ссылку + теги
    /animals-and-pets/for-sale/2/">2</a></li><li><a target="_self" href=" (вариант поправить регулярку, это конечно само собой, но все-таки)
    Спасибо.
     
  10. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    можно сохранять в один и тот же массив если это подходит под задачу, при этом названия элементов необходимо оставлять одинаковыми

    через Results builder, например через замену по регулярному выражению, но зачем если можно сразу без мусора парсить? :)
     
    Kreola нравится это.
  11. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Еще вопрос, подскажите как использую Net:http получить все ссылки на сайт http://a-parser.com/ используя регулярку? я уже сломал всю голову. Получать через LinkExtractor не вариант.
     
  12. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    аналогично как описано в этом топике http://a-parser.com/threads/1333/ только используя другую регулярку, например
    Код:
    <a href="([^"]+)"
     
  13. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Это я понимаю, но ведь это будет только с этой страницы, а как по всем страницам в режиме паука?
    Вернее я понимаю что надо задать маску, как например тут http://a-parser.com/threads/{num:1:999999}/
    но как быть где так нельзя сделать? а если есть только начальный урл и возможности моделировать нету. ( теоретически, возможно просто познаний не хватает)
    У меня ссылка идет в теге <p onclick="wo('/бла/бла/бла/блаe/3263014/')" class='ar'>
     
    #33 Kreola, 12 ноя 2014
    Последнее редактирование: 13 ноя 2014
  14. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    [​IMG]

    • Необходимо обновиться на версию 1.1.119 где исправлена работа Raw data results
    • Используем HTML::LinkExtractor HTML::LinkExtractor в качестве паука - он автоматически будет переходить по всем ссылкам на указанную глубину
    • Используя Raw data results для парсинга становится доступным элемент $data - исходный код страницы, откуда с помощью регулярного выражения сохраняем необходимые данные
     
  15. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Приветствую!
    Вопросик, а можно к такой замене применять регулярки?
    к примеру чтоб было
    phone.replaceAll("[^\\d]+", ""); Удалить все не числа из строки.
     
  16. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    Kreola нравится это.
  17. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Приветствую.
    Подскажите как парсить такой сайт? http://www.3tlin.com/show-cv-96329587.html
    регулярки не могут воспринимать символы которые превращаются в лигатуры.
    Например надо забрать имя. Это первая строка из таблички. И как забирать другие данные.
    Я в другом парсере делал через удаление символов (скорее всего не правильный подход), тут хз как.
    Спасибо заранее.
     
  18. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    о чем речь? все они прекрасно воспринимают

    [​IMG]
     
  19. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    тут понял, а как остальные строки отдельно позабирать в разные переменные?
     
  20. Forbidden

    Forbidden Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    дополнить регулярку нужными захватывающими скобками, и соответствующее число переменных обозначить
     

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