Здравствуйте с опциями вроде все понятно но вот есть загвоздка как передать апарсеру фильтр по регулярному выражению вот код: Код: 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') так работает но подожду еще что поддержка скажет