Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Получить формат ссылки для подгружаемых данных на страницу

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет! Возможно ли получить рабочий для скачивания формат ссылки для подгружаемых по кнопке «Больше» данных на страницу https://russian.palinfo.com/categories/Новости? Это нужно для получения всех ссылок, которые вручную, нажимая кнопку «Больше», подгрузить не получится. Инфа по поведению сети при кликах из браузера, рабочих ссылок не даёт.

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 10:19 15-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
F12, закладка сетевой активности и оттуда понятно что и как отправляется

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 13:00 15-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Выше я писал, что пробовал получать ссылки оттуда, но они не рабочие, нужные данные не содержат:
 
https://russian.palinfo.com/SecuHostapi/Dynamic/SecuHost/RefreshControl?Id=6e1ede9b-7457-4954-839c-d32a107e6143&PageNum=1

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 13:55 15-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
но они не рабочие, нужные данные не содержат:

потому что идет POST запрос, а не GET

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 13:58 15-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
потому что идет POST запрос, а не GET

А как получить пригодный для скачивания/открытия в браузере запрос?

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 15:11 15-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
А как получить пригодный для скачивания/открытия в браузере запрос?

создать html страницу с формой, которая будет имитировать аналогичный POST запрос.
просто вставкой URL в строку браузера POST запрос не создать.
 
а еще лучше - запрашивать скриптами.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 15:17 15-01-2018 | Исправлено: Mavrikii, 15:17 15-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
То есть, это надо кнопку воспроизвести в HTML-файле на диске? Но разве потом не получится тот же самый нерабочий формат ссылки? На других сайтах получалось из пункта cURL сетевой активности. совместить URL c POST запросом, поставив между ними знак "?", — но в этот раз не работает.

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 15:57 15-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
Но разве потом не получится тот же самый нерабочий формат ссылки

вы не понимаете разницу между GET и POST запросами.  
они могут обрабатываться одинаково, а могут и по разному - зависит от серверного скрипта обрабатывающего запрос.
 
просто ссылкой POST запрос не создать, нужно либо использовать для этого HTML форму, либо скрипты. если вы просто "воспроизведете" кнопку копированием - это не поможет.  
 

Цитата:
На других сайтах получалось из пункта cURL сетевой активности

не знаю, что вы делали на других сайтах.
 
в вашем POST запросе, в его теле, передаются еще и  

Цитата:
[{"Name":"Categories","Value":"fdb49fd2-bd91-4e9d-ba2f-3fdbe8865de3"}]

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 16:02 15-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Если вы уже не получили — может, есть где-нибудь пример создания такой HTML формы для подобного случая, чтобы в итоге получилась ссылка с номером подгружаемой страницы?

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 17:59 15-01-2018 | Исправлено: D1D1D1D, 18:06 15-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
может, есть где-нибудь пример создания такой HTML формы для подобного случая

с формой, на самом деле, есть сложность. она передает и имя элементов, поэтому для передачи "[{"Name":"Categories","Value":"fdb49fd2-bd91-4e9d-ba2f-3fdbe8865de3"}]" нужны более серьезные скрипты.
 
простейший пример

Код:
<?php
$ch = curl_init();
 
curl_setopt($ch,CURLOPT_URL, 'https://russian.palinfo.com/SecuHostapi/Dynamic/SecuHost/RefreshControl?Id=6e1ede9b-7457-4954-839c-d32a107e6143&PageNum=1');
curl_setopt($ch,CURLOPT_POST, true);
curl_setopt($ch,CURLOPT_POSTFIELDS, '[{"Name":"Categories","Value":"fdb49fd2-bd91-4e9d-ba2f-3fdbe8865de3"}]');
 
//execute post
$result = curl_exec($ch);
 
var_dump($result);
 
//close connection
curl_close($ch);
?>

можете вставить сюда, к примеру, и посмотреть
http://phpfiddle.org/
но результат ответа требует доп обработки, так как приходит в json формате, который у сайта потом обрабатывает javascript (он же и делает POST запрос).

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 19:36 15-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Вот спасибо! Достать ссылки из json-формата не составит труда, но как автоматизировать скачивание страниц подряд с первой по (как я выяснил) 5836-ю? Это надо в окно http://phpfiddle.org/ вставить сплошной код с общим количеством страниц с 1—5836

Код:
 
<?php  
&PageNum=1
?>
 
...
 
<?php  
&PageNum=5836
?>

 
или можно как-то проще?

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 20:14 15-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D

Цитата:
или можно как-то проще?

в цикле делаете запросы и объединяете результат.
 

Код:
<?php  
$max = 5;
$ch = curl_init();  
$result = [];
 
for($page = 1; $page < $max + 1; $page++) {
  curl_setopt($ch,CURLOPT_URL, 'https://russian.palinfo.com/SecuHostapi/Dynamic/SecuHost/RefreshControl?Id=6e1ede9b-7457-4954-839c-d32a107e6143&PageNum=' . $page);  
  curl_setopt($ch,CURLOPT_POST, true);  
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch,CURLOPT_POSTFIELDS, '[{"Name":"Categories","Value":"fdb49fd2-bd91-4e9d-ba2f-3fdbe8865de3"}]');  
 
  //execute post  
  $result[] = curl_exec($ch);  
}
var_dump($result);  
 
//close connection  
curl_close($ch);  
?>

запихиваете результат в массив и делаете с ним что нужно

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 20:27 15-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Во вкладке на http://phpfiddle.org/ делал запросы, снова и снова вводя код и нажимая F9, но, судя по поиску среди результатов — результат каждый раз подгружается один и тот же. Может есть возможность подгружать за один раз результаты с первой по пятисотую страницу, потом с пятисотой — по тысячную и т.д.? Наверно, с диапазонами можно было бы в несколько шагов всё получить.

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 08:47 16-01-2018 | Исправлено: D1D1D1D, 08:50 16-01-2018
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
D1D1D1D
а вы в коде пытались разобраться???
я же специально указал количество страниц в отдельной переменной.
хотите начинать не с первой, в цикле нужно указать не $page = 1, а со скольки начинать

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:18 16-01-2018
D1D1D1D

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Большое спасибо!

Всего записей: 1362 | Зарегистр. 05-04-2010 | Отправлено: 10:18 16-01-2018
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Получить формат ссылки для подгружаемых данных на страницу


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru