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

Подскажите парсер текста

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

  1. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Добрый день! Изучаю а-парсер и совсем запутался((
    Подскажите, как сделать, чтобы по кею апарсер брал из выдачи пс (google) топ 10 сайтов и с каждого парсил текст, со страницы по этому кею и сохранял в отдельный файл?
     
  2. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.542
    Симпатии:
    2.162
    Все это можно сделать с помощью двух заданий.
    Первым заданием мы парсим из Google топ10 сайтов. Для этого нужно выбрать парсер SE:Google и задать для него настройки: Pages count (кол-во страниц) - 1 и Links per page (кол-во ссылок на странице) - 10.
    [​IMG]

    Вторым заданием парсим текст из ссылок. Для этого нужно использовать парсер HTML::TextExtractor. Для записи каждого результата в отдельный файл следует указать в Имени файла: ${query.num}.txt (или в отдельную папку - text/${query.num}.txt)
    [​IMG]
     
    #2 Support, 30 мар 2015
    Последнее редактирование: 30 мар 2015
    List и kolya757 нравится это.
  3. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Спасибо большое! а подскажите пожалуйста, можно ли как то, сделать чтоб текст парсился не весь подряд, а чтобы каждое предложение в тексте было от 50 символов, именно предложение, а не блог текста? а то если ставить блог текста, то он и категории меню парсит с сайтов, а это получается мусор((
     
  4. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.794
    тут уже без фильтра по регулярному выражению не обойтись:

    [​IMG]
     
    SHOT, List и kolya757 нравится это.
  5. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Благодарю за помощь!
     
  6. Max

    Max A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 июн 2013
    Сообщения:
    13
    Симпатии:
    1
    Добрый день! у меня немного похожий вопрос:
    есть список форумов, где возможно оставлен мой пост (каждый раз - рандом текст), в конце каждого поста - поставлен маркер (не изменяемый): private code: (6T5J7uyTRkJuh7S)

    как мне вытащить все линки из моего списка - где стоит этот маркер, т.е. соответственно и проставился пост.

    Пробовал HTML::TextExtractor с разными настройками, но или весь текст со страницы парсится со всеми заголовками, либо вообще пустой файл получается.
     
  7. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.794
    http://a-parser.com/threads/946/
     
  8. Max

    Max A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 июн 2013
    Сообщения:
    13
    Симпатии:
    1
    Спасибо огромное!
     
  9. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Подскажите пожалуйста может ли а парсер скачивать текст с сайта в заданных границах html кода? А то ни как не найду где это описанно
     
  10. Kreola

    Kreola Member

    Регистрация:
    23 июн 2013
    Сообщения:
    203
    Симпатии:
    19
    Здравствуйте!
    Да, парсер умеет это делать.
    Для этого используется парсер NET::Http[​IMG]
     
    List и kolya757 нравится это.
  11. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Благодарю все получилось! Спасибо!!!
     
  12. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Добрый день!
    Еще маленький вопрос, можно ли как то указать, чтобы спарщенный текст сохранялся в определенной кодировки? А то на выходи сейчас получается utf без bom а с ним в дальнейшем проблемы в использовании(
     
  13. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.542
    Симпатии:
    2.162
    Добрый день. Файл можно перекодировать в Notepad++
    Меню кодировки -> Преобразовать в ANSI или любую другую.
     
  14. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Это я знаю но когда на выходе 100к файлов то так не получится массово сменить
     
  15. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.794
    Других вариантов нет, парсер работает только с utf-8, это самый универсальный вариант
     
  16. Force68

    Force68 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 фев 2013
    Сообщения:
    175
    Симпатии:
    49
    в текстпайпе пакетно можно
     
    kolya757 нравится это.
  17. kolya757

    kolya757 A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 ноя 2014
    Сообщения:
    31
    Симпатии:
    5
    Подскажите пожалуйста хочу спарсить текст с сайтов но запутался(
    Вообщем есть файл с запросами вида:
    КЕЙ1|сылка1|сылка2|сылка3|сылка4|сылка5|
    КЕЙ2|сылка1|сылка2|сылка3|сылка4|сылка5|
    Как задать запрос чтобы собирал текст с указанных ссылок и при этом сохронял это все в 1 файл в таком виде:
    КЕЙ1|текст1|текст2|текст3|текст4|текст5|
    возможно ли это вообще реализовать?
     
  18. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.794
    примерно так:

    [​IMG]
     
    List и kolya757 нравится это.
  19. vipdenya

    vipdenya A-Parser Pro License
    A-Parser Pro

    Регистрация:
    25 июл 2014
    Сообщения:
    57
    Симпатии:
    9
    Решил написать здесь. Пробую парсить тематический текст по ссылкам с помощью TextExtractor. Пересмотрел кучу инфы на форуме, начал составлять пресет и ... не осилил.((
    Помогите, пожалуйста, с такими моментами:
    1. Фильтры по регуляркам.
    Нужно, чтобы:
    а) парсились предложения только от 50 символов и в конце проставлялась точка(если ее не было). Пока использую регулярку с 4-го поста выше
    б) каждая спарсенная строка начиналась с большой буквы(если ее не было)
    в) если начало строки какой-то знак(и), цифра(ы), то удаление знака и цифр до первого слова, которое преобразуется с большой буквы
    г) очистка от всякого мусора(ссылки, мыла, иероглифы и т.д.)
    Чтобы получалось вроде этого, но только под РУ
    [​IMG]
     
    kaznokrad нравится это.
  20. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.542
    Симпатии:
    2.162
    Желательно иметь пример, чтобы ответ был более корректный. Вообще могут быть разные варианты, например чтобы точка проставлялась - это врятли, т.к. откуда парсеру знать где ее ставить? Плюс парсинг предложений более 50 символов уже подразумевает разбивку на предложения на основе каких-то признаков. А это и есть точка, знак восклицания или вопроса. Но в общих чертах в пресете это делается так:
    • несколько Конструкторов результатов с функцией RegEx Replace, для каждого вида "мусора" указываем свою регулярку и заменяем на пустоту для очистки от мусора;
    • разбиваем на предложения Конструктором результатов с функцией RegEx Match и регуляркой из 4-го поста;
    • по полученному массиву проходимся следующим Конструктором результатов с функцией RegEx Replace, указываем регулярку ^[\W\d_]+ и заменяем на пустоту для удаления начальных знаков и цифр;
    • выводим результат, используя шаблонизатор и его функцию .ucfirst (Ссылка) для перевода первой буквы в верхний регистр.
     

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