Как мне получить все страницы likes.json?

Ссылка скопирована
1 ответ

Хочу получить список всех coub, которые я лайкал,
но через PHP не знаю как авторизоваться, чтобы получить куки,
а в браузере, с залогиненым в аккаунт пользователем,
при обращении по адресу https://coub.com/api/v2/timeline/likes
получаю всего по 10 coub на страницу

при запросе

https://coub.com/api/v2/timeline/likes?page=1&per_page=25

https://coub.com/api/v2/timeline/likes?page=1&per_page=25

по 25 (это максимум), и у меня 190страниц.

Как мне получить все страницы likes.json?

Как мне получить все страницы likes.json?

Как бы это всё это автоматом. слепить в один файл?

Ленту кубов/РЕПОСТОВ, со своего канала я получаю PHP запросом в цикле
и для этого, в отличии от лайков, авторизация не нужна
тыкс

<?php for ($page = 1; $page < $repeat; $page++){ $timeline = file_get_contents('https://coub.com/api/v2/timeline/channel/'.$channel.'?page='.$page.'&per_page='.$per_page.'?order_by='.$order_by) ; $regexp = '/"Coub::Simple","permalink":"(.+?)","title":"(.+?)","visibility_type":.+?"image_versions":{"template":"(.+?)"/';   preg_match_all($regexp, $timeline, $matches); foreach ($matches[0] as $value) { $span =  '$2'; $replacement = "<div class='coub' onmouseover='showName(this);'> <a href='//coub.com/view/\${1}1'  onclick='return frame(this);'> <img src='$3'></a> <span>$span</span></div>"; $echo = preg_replace($regexp, $replacement, $value) ; echo preg_replace("~\\"~", """, $echo) ; }}; echo "</div>"; ?>

<?php for ($page = 1; $page < $repeat; $page++){ $timeline = file_get_contents('https://coub.com/api/v2/timeline/channel/'.$channel.'?page='.$page.'&per_page='.$per_page.'?order_by='.$order_by) ; $regexp = '/"Coub::Simple","permalink":"(.+?)","title":"(.+?)","visibility_type":.+?"image_versions":{"template":"(.+?)"/'; preg_match_all($regexp, $timeline, $matches); foreach ($matches[0] as $value) { $span = '$2'; $replacement = "<div class='coub' onmouseover='showName(this);'> <a href='//coub.com/view/\${1}1' onclick='return frame(this);'> <img src='$3'></a> <span>$span</span></div>"; $echo = preg_replace($regexp, $replacement, $value) ; echo preg_replace("~\\"~", """, $echo) ; }}; echo "</div>"; ?>

Поэтому хотелось бы в браузере получить полный список ,
а уже потом просто подсунуть этот файл для PHP сайта
пример на сайте

Дополнительно:

Ну так токен авторизации скопируй себе в скрипт, возможно еще какие-то дополнительные куки
Также можешь просто проверить выполнить запрос в консольке в браузере, во вкладке Network просто скопируй запрос "Copy As Fetch" вроде, а порпобуй через консоль отправить, если получится, вот тебе готовый скрипт будет, только страницы меняй

  • Через CURL проходите авторизацию. Далее сохраняете куки и через тот же CURL делаете запросы на страницы подставляя полученные куки. Если там при авторизации капча, то только через API если оно есть.
    Тут пример как через курл - https://stackoverflow.com/questions/27958072/setti...
    Вот тут пример как через API сделать - https://www.pvsm.ru/ruby/85685
  • Александр,
    сделал "разовый вариант", т.к. это не так часто будет нужно.
    в firefox открыл страницу своих лайков,
    тык по СКМ и скролю страницу до упора :),
    потом сохраняю Save page as.. Web Page, complite Likes.html
    загружаю это файл на сервер,
    там там его обрабатывает likes.php и я просто сохраняю страницу как html
    <?php  // ФАЙЛ по умолчанию $default_file = file_get_contents('Likes.html') ; // если в GET-параметрах присутствует ключ file и это значение не пустое if(isset($_GET['file']) && $_GET['file'] != '' ) { // ..., то переменная равняется этому значению $file = $_GET['file']; $timeline = file_get_contents($file) ; } else // иначе, берем значение по умолчанию $timeline = $default_file; ?> <code lang="html"> бла-бла-бла </code> <code lang="php"> <?php echo "<div id='coub'>"; $regexp = '/"Coub::Simple","permalink":"(.+?)","title":"(.+?)","visibility_type":.+?"image_versions":{"template":"(.+?)"/';   preg_match_all($regexp, $timeline, $matches); foreach ($matches[0] as $value) { $span =  '$2'; $replacement = "<div class='coub' onmouseover='showName(this);'><a href='//coub.com/view/\${1}1'  onclick='return frame(this);'><img src='$3'></a><span>$span</span></div>"; $echo = preg_replace($regexp, $replacement, $value) ; echo preg_replace("~\\"~", """, $echo) ; }; echo "</div>"; echo "<script>menu()</script>"; //echo "</body></html>"; ?> </code>

    <?php // ФАЙЛ по умолчанию $default_file = file_get_contents('Likes.html') ; // если в GET-параметрах присутствует ключ file и это значение не пустое if(isset($_GET['file']) && $_GET['file'] != '' ) { // ..., то переменная равняется этому значению $file = $_GET['file']; $timeline = file_get_contents($file) ; } else // иначе, берем значение по умолчанию $timeline = $default_file; ?> <code lang="html"> бла-бла-бла </code> <code lang="php"> <?php echo "<div id='coub'>"; $regexp = '/"Coub::Simple","permalink":"(.+?)","title":"(.+?)","visibility_type":.+?"image_versions":{"template":"(.+?)"/'; preg_match_all($regexp, $timeline, $matches); foreach ($matches[0] as $value) { $span = '$2'; $replacement = "<div class='coub' onmouseover='showName(this);'><a href='//coub.com/view/\${1}1' onclick='return frame(this);'><img src='$3'></a><span>$span</span></div>"; $echo = preg_replace($regexp, $replacement, $value) ; echo preg_replace("~\\"~", """, $echo) ; }; echo "</div>"; echo "<script>menu()</script>"; //echo "</body></html>"; ?> </code>

    С первого раза не получилось - комп завис )) , оказалось маловато памяти - всего 8Gb
    добавил к файлу подкачки + 4Gb, был 1Gb.
    Как пример

  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Максим Павлов Ответ

    Для того чтобы получить все страницы likes.json, вам необходимо использовать HTTP запросы к серверу, на котором хранится этот файл. В зависимости от того, какой тип запросов поддерживает сервер, у вас может быть несколько вариантов для достижения этой цели.

    Если сервер поддерживает метод GET, вы можете использовать его для получения содержимого файла likes.json. Например, вы можете отправить GET запрос на URL, по которому находится файл likes.json, и получить его содержимое в ответе.

    Пример запроса с использованием PHP:

    $url = 'http://example.com/likes.json';
    $response = file_get_contents($url);
    echo $response;

    $url = 'http://example.com/likes.json'; $response = file_get_contents($url); echo $response;

    Если сервер требует аутентификации или других параметров для доступа к ресурсу, вам может потребоваться использовать другие методы запросов, такие как POST или PUT. В этом случае вам необходимо будет передать соответствующие параметры в запросе.

    Если вы не уверены, какие методы запросов поддерживает сервер и какие параметры требуются для доступа к файлу likes.json, обратитесь к документации сервера или к администратору сервера для получения подробной информации.

    Надеюсь, это поможет вам получить доступ ко всем страницам likes.json. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно