1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 1100+ и мы растем!
    Скрыть объявление

Парсинг информации по странице

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

  1. ileweste

    ileweste A-Parser Pro License
    A-Parser Pro

    Регистрация:
    20 мар 2016
    Сообщения:
    2
    Симпатии:
    0
    Добрый день. Собрал базу сайтов.
    Хотел бы отобрать из них нужные мне по тематике.
    Для этого хотел спарсить нужные страницы сайта и найти среди них нужные по ключам. Не получилось.
    Что имеется?
    1. База сайтов вида:
    site.com
    site1.com
    site2.com
    2. База ключевых слов, по которым сайт можно отнести к good
    key
    key1
    key2
    Что пытался сделать?
    1. Использование HTML::TextExtractor - не получилось, т.к. он сохраняет данные в несколько строк, соответственно не получается привязать результат к одной строке.
    2. Использование стороннего софта по типу winhttrack website copier и его аналогов. Не получается, т.к. по запросу site.com получаю файл index.html с содержанием "<BODY>
    <A HREF="https://www.site.com/"><h3>Click here...</h3></A>
    </BODY>
    <!-- Created by HTTrack Website Copier/3.49-2 [XR&CO'2014] -->"
    Что требуется?
    Использованием встроенных парсеров a-parser вставив базу доменов sites.txt и используя регулярное выражение, содержащие ключевые фразы, которые помечают файл как good. Соответственно, если на странице сайта есть хотя бы одна ключевая фраза из регулярки, то сайт GOOD.
    Как должен работать?
    Скорее всего это должно работать либо через HTML::TextExtractor, либо через Net::HTTP , проверяется на код 200 (но необязательно), после чего проверяется на наличие ключевых фраз ("keyword 1", "keyword 2"), которые будут перечисляться в регулярке.
    На выходе получается файл вида:
    site.com|good (найдена 1 или более ключевая фраза)
    site1.com|bad (найдено 0 ключевых фраз)
    Можно указать количество совпадений:
    site.com|good|3 (найдено 3 ключевые фразы)
    Но это не обязательно.
    Прошу помощи :)
     
    #1 ileweste, 16 янв 2020
    Последнее редактирование модератором: 20 янв 2020
  2. relay

    relay A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    22 июл 2013
    Сообщения:
    134
    Симпатии:
    83
    Вам подойдет [​IMG] Net::HTTP - это универсальный парсер, который позволяет решать большинство нестандартных задач.
    Для парсинга необходимой информации нужно воспользоваться функцией Parse custom result и примерно таким регулярным выражением:

    Рекомендую ознакомиться с такими статьями документации:
    https://a-parser.com/wiki/parse-custom-result/
    https://a-parser.com/wiki/regex/
    https://a-parser.com/wiki/results-representation/
    https://a-parser.com/wiki/result-format/

    Кроме указанных выше ссылок также рекомендую ознакомиться с Каталогом примеров: https://a-parser.com/resources/ - там есть множество самых разных примеров.

    Если же у вас нет возможности изучать Документацию, то вы всегда можете составить подробное ТЗ и написать в Платную поддержку: http://a-parser.com/threads/1795/
     
    Support и Forbidden нравится это.

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