Когда вы нажимаете Показать больше, страница отправляет запрос XHR POST для получения дополнительных результатов, используя смещение 10 (предполагается, что результаты поступают партиями по 10) из текущего набора. Вы можете имитировать это, пока у вас есть следующие параметры в теле поста (я подозреваю, что необходимы только нижние 3)
'direction' : 1
'sort' : 1
'offset' : 10
'pagetype' : 'city'
'pageid' : 345
И требуется следующий заголовок запроса (по крайней мере, в реализациях Python)
'X-Requested-With' : 'XMLHttpRequest'
Вы отправите это правильно и получите ответ, содержащий дополнительный контент. Примечание: содержимое упаковано в ! [CDATA []] как указание на то, что содержимое не должно интерпретироваться как xml - вам необходимо учитывать это, извлекая содержимое для анализа.
Общее количество банкоматов возвращается с имеющейся у вас исходной страницы и с помощью селектора css
.atm-number
Вы можете разделить на
, взять верхнее граничное значение из разделения и преобразовать в int. Затем вы можете рассчитать каждое смещение, необходимое для соответствия этому итоговому значению (которое используется в цикле в качестве последовательного параметра смещения до достижения общего значения), например Всего будет 19 результатов, всего 2 запроса, с дополнительным содержанием 1 запрос со смещением 10.