Я спарсил поисковую выдачу
каталога библиотек. Теперь надо извлечь из неё нужные данные. Для начала хотя бы найти количество дивов с классом
searchrez в диве с ай-ди
searchrezult:
В исходнике структура такая же, как в консоли:
Но вместо 4 выводится 0:
echo $xpathSKBM->query('//div[@id="searchrezult"]/div[@class="searchrez"]')->length;
Помогите, пожалуйста.
Весь код:
$bookTitle = 'Код Дурова';
require '../vendor/autoload.php';
use GuzzleHttp\Client;
// Инициализируем класс для работы с удалёнными веб-ресурсами
$client = new Client();
// Делаем запрос на страницу выдачи, получаем ответ
$response = $client->request('POST', 'http://skbm.nekrasovka.ru/request', [
'form_params' => [
'_service' =>'STORAGE:opacfindd:IndexView',
'_action' => 'php',
'_errorhtml' => 'error1',
'_handler' => 'search/search.php',
'querylist' => '<_service>STORAGE:opacfindd:FindView[separator]<_version>2.5.0[separator]<session>26026[separator]<_start>0[separator]<start>0[separator]<$length>15[separator]<length>15[separator]<iddb>1[separator]<_showstr><i>Заглавие</i> '.$bookTitle.'[separator]<_str>[bracket]TITL '.$bookTitle.'[/bracket][separator]<$outform>SHORTFM[separator]<outformList[0]/outform>SHORTFM[separator]<outformList[1]/outform>LINEORD[separator]<outformList[2]/outform>SHORTFMS[separator]<outformList[3]/outform>SHORTFMSTR[separator]<$filterstr>[bracket][bracket]LRES [apos]ТЕКСТЫ[apos][/bracket][/bracket] AND [bracket]LPUB [apos]КНИГИ[apos][/bracket][separator]<$filtersids>filter_1_2_0[END]filter_1_3_0[separator]<$fshowstr><i>вид документа</i> тексты И <i>вид издания</i> книги[separator]<query/body>(TITL '.$bookTitle.') AND ((LRES \'ТЕКСТЫ\')) AND (LPUB \'КНИГИ\')[separator]<_history>yes[separator]<userId>ADMIN[separator]<$linkstring>043[ID]Заказ документа[END]044[ID]Заказ копии документа[END][separator]<level[0]>Full[separator]<level[1]>Retro[separator]<level[2]>Unfinished[separator]<level[3]>Identify[separator]<$swfterm>[bracket]TITL '.$bookTitle.'[/bracket] AND [bracket][bracket]LRES [apos]ТЕКСТЫ[apos][/bracket][/bracket] AND [bracket]LPUB [apos]КНИГИ[apos][/bracket][separator]<_iddb>1[separator]<$addfilters>[NEXT]filter_1_1_else[IND]fixed_1_0_1525854941893[CLASS](LFR \'печатная/рукописная\')[TEXT]печатная/рукописная[separator]<$typework>search[separator]<$basequant>2391872[separator]<$flag45>yes',
'_numsean' => '26026'
]
]);
// Выводим нужное из хтмла выдачи
$htmlSKBM = $response->getBody();
$docSKBM = new DOMDocument();
@$docSKBM->loadHTMLFile($htmlSKBM);
$xpathSKBM = new DOMXpath($docSKBM);
echo $xpathSKBM->query('//div[@id="searchrezult"]/div[@class="searchrez"]')->length;