API возможно ли сделать так?

  • Автор темы Автор темы XyaH
  • Дата начала Дата начала

XyaH

A-Parser Enterprise License
A-Parser Enterprise
Здравствуйте с опциями вроде все понятно но вот есть загвоздка как передать апарсеру фильтр по регулярному выражению вот код:
Код:
function aparser($s,$minblock){
$aparser = 'http://host:9091/API';
$request = json_encode(
    array(
    'action' => 'oneRequest',
        'data' => array (
        'options' => array (
            0 => array (
                'value' => $minblock,
                'type' => 'override',
                'id' => 'minblocklength',
                ),
            1 => array (
                'value' => '200 ok',
                'type' => 'override',
                'id' => 'goodstatus',
                ),
            ),
        'parser' => 'HTML::TextExtractor',
        'preset' => 'noproxy',
        'threads' => 1,
        'query' => $s
        ),
        'password' => 'pass'
    )

);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $aparser);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($request)));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain; charset=UTF-8'));
$response = curl_exec($ch);curl_close($ch);
$response = json_decode($response, true);
$text =  $response['data']['resultString'];
return $text;
}
возможно ли как то передать именно этот параметр? http://prntscr.com/cdxv0o
 
Любой параметр можно передать - как именно проще всего посмотреть через API http://a-parser.com/wiki/user-api/#gettaskconf - добавить задание в очередь через интерфейс и запросить его конфиг
 
Вообщем чет не получается у меня получить нужные фильтры в апи поправьте плиз
получаю конфиг http://prnt.sc/ckd4xo парсера http://prnt.sc/ckd4f9 вроде ничего сложного пробую:
Код:
$aparser = 'http://хост/API';
$request = json_encode(
    array(
    'action' => 'oneRequest',
        'data' => array (
        'options' => array (
            0 => array (
                'value' => 200,
                'type' => 'override',
                'id' => 'minblocklength',
                ),
            1 => array (
                'value' => '200 ok',
                'type' => 'override',
                'id' => 'goodstatus',
                ),                       
            2 => array (
                'value' => '[,\w\d]{10,}[!?.]',
                'type' => 'filter',
                'option' => array(
                'result' =>array(
                     0 => 'texts',
                     1 => 'text',
                     ),
                ),
                'filterType' => 'rematch',
                ),
            3 => array (
                'value' => '\n',
                'type' => 'filter',
                'option' => array(
                'result' =>array(
                     0 => 'texts',
                     1 => 'text',
                     ),
                ),     
                'filterType' => 'renotmatch',
                ),   
            ),
        'parser' => 'HTML::TextExtractor',
        'preset' => 'noproxy',
        'threads' => 1,
        'query' => 'http://www.bolshoyvopros.ru/questions/447558-ves-pachki-bumagi-a4-skolko-vesit-upakovka-bumagi-a4.html'
        ),
        'password' => 'пасс'
    )

);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $aparser);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($request)));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain; charset=UTF-8'));
$response = curl_exec($ch);curl_close($ch);
$response = json_decode($response, true);
$text =  $response['data']['resultString'];
print $text;
и получаю пустую страницу если убираю из кода
Код:
    'option' => array(
                'result' =>array(
                     0 => 'texts',
                     1 => 'text',
                     ),
                ),
получаю пустоту и лог
"Use of uninitialized value in pattern match (m//) at build/core.to_build.pl line 22885.
Use of uninitialized value in hash element at build/core.to_build.pl line 22892."
помогите разобраться
 
методом тыка вроде разобрался
неправильно:
Код:
    'option' => array(
                'result' =>array(
                     0 => 'texts',
                     1 => 'text',
                     ),
                ),
правильно:
Код:
'result' =>array(0 => 'texts',1 => 'text')
так работает но подожду еще что поддержка скажет
 
Назад
Верх