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

Как связать SE::Google и HTML::TextExtractor

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

  1. felix

    felix A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    20 фев 2015
    Сообщения:
    2
    Симпатии:
    1
    Добрый день, прошу помочь в моем вопросе.

    Имеем ключевые слова по ним нужно собрать текстовые блоки >1000 символов.
    Как я думаю логика такова:
    1. Вначале по ключам парсим выдачу (например 100 результатов)
    2. Сохраняем все это дело в формате ($query - $p1.preset) итого получится в файле ключевое слово + 100 ссылок.
    3. Запускаем HTML::TextExtractor и че тут делать я уже не знаю - но на выходе я должен получить
    <title>$query</title>
    <p>текст длиной 500</p>
    <p>текст длиной 500</p>
    <p>текст длиной 500</p>

    т.е. изначальный ключ который мы парсили по первому парсеру и несколько абзацев текста.

    И еще проблема в том что ключей много и на выходе первого парсера получится 1 кей = 1 файл, и как после этого работать со вторым парсером с таким количеством файлов я не знаю.

    Спасибо.
     
    #1 felix, 1 авг 2015
    Последнее редактирование: 1 авг 2015
  2. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Добрый день.
    На первом этапе используйте такой формат результата:
    Код:
    $p1.serp.format('$query;$link\n')
    А дальше сделайте как на скрине, указав в качестве файла запросов файл, полученный на первом этапе:
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
    InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
    cGUiOiJvdmVycmlkZSIsImlkIjoibWluYmxvY2tsZW5ndGgiLCJ2YWx1ZSI6IjEw
    MDAifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFs
    dWUiOiIkdGV4dHMuZm9ybWF0KCc8cD4kdGV4dDwvcD5cXG4nKSJ9LHsidHlwZSI6
    Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVlIjoiJHF1ZXJ5Lmxp
    bmsifV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLnByZXNldCIsInJlc3VsdHNTYXZl
    VG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoidGV4dHMvJHtxdWVyeS5rZXl9
    LnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5v
    IiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNl
    LCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJv
    bkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpm
    YWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xv
    ZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZhbHNlLCJy
    ZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxk
    ZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5cGUiOiJzdHJpbmdTcGxpdCIsInNl
    cGFyYXRvciI6IjsiLCJ0byI6WyJrZXkiLCJsaW5rIl19XSwicmVzdWx0c0J1aWxk
    ZXJzIjpbXSwiY29uZmlnT3ZlcnJpZGVzIjpbXX19
    В результате в папке texts вы получите на каждый ключ по файлу, внутри которых будут все текстовые блоки >1000 символов.

    ИЛИ
    [​IMG]
    Код:
    eyJwcmVzZXQiOiJkZWZhdWx0IiwidmFsdWUiOnsicHJlc2V0IjoiZGVmYXVsdCIs
    InBhcnNlcnMiOltbIkhUTUw6OlRleHRFeHRyYWN0b3IiLCJkZWZhdWx0Iix7InR5
    cGUiOiJvdmVycmlkZSIsImlkIjoibWluYmxvY2tsZW5ndGgiLCJ2YWx1ZSI6IjEw
    MDAifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVzdWx0IiwidmFs
    dWUiOiI8dGl0bGU+JHF1ZXJ5LmtleTwvdGl0bGU+XFxuJHRleHRzLmZvcm1hdCgn
    PHA+JHRleHQ8L3A+XFxuJykifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicXVl
    cnlmb3JtYXQiLCJ2YWx1ZSI6IiRxdWVyeS5saW5rIn1dXSwicmVzdWx0c0Zvcm1h
    dCI6IiRwMS5wcmVzZXQiLCJyZXN1bHRzU2F2ZVRvIjoiZmlsZSIsInJlc3VsdHNG
    aWxlTmFtZSI6IiRkYXRlZmlsZS5mb3JtYXQoKS50eHQiLCJhZGRpdGlvbmFsRm9y
    bWF0cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJ5Rm9ybWF0IjpbIiRx
    dWVyeSJdLCJ1bmlxdWVRdWVyaWVzIjpmYWxzZSwic2F2ZUZhaWxlZFF1ZXJpZXMi
    OmZhbHNlLCJpdGVyYXRvck9wdGlvbnMiOnsib25BbGxMZXZlbHMiOmZhbHNlLCJx
    dWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6ZmFsc2V9LCJyZXN1bHRzT3B0aW9u
    cyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwiZG9Mb2ciOiJubyIsImtlZXBVbmlxdWUi
    OiJObyIsIm1vcmVPcHRpb25zIjpmYWxzZSwicmVzdWx0c1ByZXBlbmQiOiIiLCJy
    ZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWlsZGVycyI6W3sic291cmNlIjoicXVl
    cnkiLCJ0eXBlIjoic3RyaW5nU3BsaXQiLCJzZXBhcmF0b3IiOiI7IiwidG8iOlsi
    a2V5IiwibGluayJdfV0sInJlc3VsdHNCdWlsZGVycyI6W10sImNvbmZpZ092ZXJy
    aWRlcyI6W119fQ==
    В этом случае вы получите один файл, в котором будет выведен ключ и текстовые блоки для каждой полученной ссылки.
     
    DeXtR нравится это.
  3. felix

    felix A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    20 фев 2015
    Сообщения:
    2
    Симпатии:
    1
    Спасибо, все работает!
     
    Support нравится это.
  4. Dobriyk0t

    Dobriyk0t A-Parser Pro License
    A-Parser Pro

    Регистрация:
    30 май 2016
    Сообщения:
    11
    Симпатии:
    3
    Добрый день!
    А подскажите, как составить задание на парсинг контента в таком виде(входящие query будут ссылки на страницу, все страницы состоят из <h2></h2> и <p></p>):
    Титл; meta description; meta keywords; h2, тексты к нему <p></p>(их может быть несколько) и ключи <strong></strong>; следующие h2 и тексты к нему <p></p> и т.д.
    И вывод результатов в таблицу:
    Урл(query); титл; meta description; meta keywords; h2, тексты к нему <p></p>(их может быть несколько) и ключи <strong></strong>; следующие h2, тексты к нему <p></p> и и ключи <strong></strong>; т.д. все тексты со страницы.
     
  5. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Добрый день.
    Используйте Net::HTTP Net::HTTP и регулярные выражения для каждого элемента. Плюс формируйте результат, выводя результаты в нужной последовательности.
     
  6. Dobriyk0t

    Dobriyk0t A-Parser Pro License
    A-Parser Pro

    Регистрация:
    30 май 2016
    Сообщения:
    11
    Симпатии:
    3
    Посмотрите, делаю так, но я так понимаю у меня есть ошибки, т.к. результат "Nope". Не знаю как вывести нормально результат(в эксель), если конечно результат будет.
    Также, в переменных text, h2 и key должны быть массивы или я не прав?
    парсинг контента.jpg
     
  7. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Чтобы они были - выберите флаг g. Подробнее о регулярках в А-Парсере: http://a-parser.com/wiki/regex/
    1) Формат результата должен быть один. Например:
    Код:
    $title;$texts.format('$text|');$h2s.format('$h2|');$keys.format('$key|')\n
    Детальнее о результатах в А-Парсере: http://a-parser.com/wiki/results-representation/, http://a-parser.com/wiki/result-format/
    2) Расширение файла измените на csv
     
  8. Dobriyk0t

    Dobriyk0t A-Parser Pro License
    A-Parser Pro

    Регистрация:
    30 май 2016
    Сообщения:
    11
    Симпатии:
    3
    Переделал, теперь пустой результат(в каждой строке только знаки разделителей ";;;;"), но уже не "nope") Подскажите, хочу сделать рабочий шаблон.
    парсинг контента.jpg
     
  9. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Почитайте еще раз внимательно Документацию и то, что я написал.

    Формат результат должен быть один, хотя в том случае, что на последнем скрине, это ни на что не повлияет.
    Если вы задаете шаблон в Общем формате результата, то нужно ссылаться на парсер. В вашем случае шаблон для Общего формата результата будет выглядеть так:
    Код:
    $p1.title;$p1.texts.format('$text|');$p1.h2s.format('$h2|');$p1.keys.format('$key|')\n
     

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