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

Свой параметр в запросе

Тема в разделе "Делимся опытом", создана пользователем denver, 9 сен 2013.

  1. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    Хотелось бы получить возможность добавлять свой параметр в запрос,
    например в SE::Google (просто как пример)

    я паршу количество страниц у сайтов (через API)
    на выходе получаю что-то типа:
    1|0|site:mysite.com OR site:www.mysite.com|1000 (шаблон: {success}|{misspell}|{query}|{totalcount}\n)

    так вот, что бы мне не выковыривать через регекс потом мой сайт, что бы по базе найти его ID и обновить статистику для него, хотелось бы на входе данных для API добавлять некую переменную типа: my_param:$id|site:$domain и парсер понимал, что my_param:..... это мой параметр, который потом надо отдать вместе со строкой результатов...

    вот как-то так :)
    заранее благодарю
     
  2. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    каким методом ты парсишь через апи? это можно сделать в интерфейсе через Query Builder
     
  3. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    'action' => 'bulkRequest'
    'rawResults' => 0
     
  4. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    ты можешь вывести в результате {querynum} - порядковый номер запроса, он будет соответсвовать порядку как ты отправлял запросы
     
  5. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    ну это не совсем то
    в принципе я использую preg_match('@^\(host:(.+?) \|@i', $request, $match);
    $domain = trim($match[1]);

    формат запроса: (host:domain.com | host:www.domain.com)
    в принципе все работает, но с моим параметром было бы мне кажется удобнее
    но если нет, так нет :)
    можно закрыть тему
     
  6. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    дак а почему не то? допустим у тебя 100 запросов, от 0 до 99, апарсер возвращает результат не в том порядке, а в порядке какой запросы быстрее спарсился - в этом и проблема сопоставления запросов - результатов, но ты можешь выводить {querynum} и получишь позицию запроса в исходном массиве
     
  7. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    а оки понял, щас попробую :)
    спасибо
    значит задание можно закрыть, оно в принципе не актуально
     
  8. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    попробовал {querynum} нет такого параметра...
     
  9. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    действительно, дезинформировал

    тогда такой вопрос, почему не используешь rawResults => 1? :) там порядок ответов соответсвует исходному
     
  10. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    много не нужных данных выдает, я работаю щас с rawResults = 0 и получаю в нужном мне формате данные =)
     
  11. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    ну я другим путем пошел, добавляю запрос в парсер и во второй массив добавляю $ids[md5("полный запрос")] = $row['id']
    и уже потом получаю нужный мне ID по запросу md5
     
  12. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.336
    Симпатии:
    1.791
    md5 только лишний тут)
     
  13. denver

    denver A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    6 янв 2013
    Сообщения:
    192
    Симпатии:
    43
    это исключительно что бы уменьшить данные при print_r :) просто нравится так :)
     

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