Сохранить все записи со стены в ВК

Тема в разделе "Мегафлуд", создана пользователем lift, 6 июн 2012.

Статус темы:
Закрыта.
  1. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.377
    Чем? Прокручитваю вниз несколько страниц, сохраняю браузером - сохраняет только одну подгруженую страницу (в зависимости от браузера или первую иди текущую, на которой нажал на сохранение).
    Исходный код тоже самое, показывает или первую страницу или текущую.
    Начал открывать всю стену в браузере чтоб тупо скопипастить - процесс браузера очень быстро вышел за разумные пределы и памяти на него перестало хватать. Тоесть если сделать дамп памяти - тоже нифига не выйдет.
    CD, телепорты, оффлайн эксплореры - отдохнули в сторонке, максимум первую страницу стены сохранили не подгружая все остальное.
    Поиск не рулит, тут максимум есть парсеры групп нерабочие да и мне как бы парсить в движки не надо.
    Чем сохранить всю стену в ВК в текстовый файл, идеально если это будет чистый html. Со всеми переписками на ней и всем обработаным аяксом? Авторизации не надо, грумма открытая для незарегистрированных юзеров.
     
  2. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    Пробуй тем же CD проставить ссылки - http://vk.com/wall-****?offset=40
    где **** - ИД группы
    где 40 - это страница (шаг страницы - 20)
    т.е. первая страница это 0 - вторая и т.д. это +20
    Если не сможешь давай ИД группы в лс и на пиво :D
     
  3. lift

    lift Читатель

    Заблокирован
    Регистр.:
    1 июл 2007
    Сообщения:
    2.226
    Симпатии:
    1.377
    Genk0 ты не понял. Ссылка и станица типа одна только. Например вот: http://vk.com/vestifuture
    И надо как-то вменяемо сохранить ее всю полностью, все 300 с лишним записей с нее. Там "страница" это подгружаемая часть а не отдельная ссылка. Со ссылками проблем вообще небыло бы, проблема с этим ебучим аяксом.
     
  4. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    Да все нормально получается у меня.​
    Скажи какие данные надо, я сделаю.​
    Основные по крайней мере посты хаваются, а вот на "ответы на посты" надо настроиться - они нужны тоже?​
     
  5. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
    За еду 10 баксов напишу PHP-скрипт :)
     
  6. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    Опоздал))) там все элементарно делается.
    http://narod.ru/disk/51942176001.52f8da7ef41df60689825e39e148e6cf/content.zip.html
    Единстенное что я немного перепутал местами некоторые страницы.
    Подключить сюда стили от ВК и будет вся стена - ровно 310 постов (не считая риплов)
     
  7. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    Очевидно там JS добавляются новые посты и при перезагр. Ищи браузер, который при сохранении страницы не пытается заново её скачать, а берет уже отренденный контент. Ну или либо изучи содержимое JS и выясни по какому адресу и с какими параметрами дергается получения нового контента и напиши простейший скрипт.
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.240
    Проверил сейчас в гугл хроме - сохранило вместе с подгруженными данными, просмотр кода без них, ctrl+shift+i тоже отдал с подгруженными. Хромовцы в этом плане молодцы знаю по отладке js...
     
  9. HatoL

    HatoL

    Регистр.:
    5 фев 2008
    Сообщения:
    206
    Симпатии:
    36
    Ты че сюда пришел цены сбивать

    :(

    Ладно, можно в файрфоксе на самом деле пролистать все и сохранить — оно сохранится. Помню тоже надо было свою стену сохранить. Но вообще вот примерный скрипт, недописанный правда:

    PHP:
    <?php
     
    /** Скрипт **/
     
    $userAgent 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)';
     
    $login '+7...';
    $pass '...';
     
    $id '1'// чью стену сохраняем?
    $offset '10'// начиная с какой записи?
    $filename 'vk.com.html'// в какой файл?
     
    $postData = array('act' => 'login',
    'q' => '',
    'al_frame' => '1',
    'expire' => '',
    'captcha_sid' => '',
    'captcha_key' => '',
    'from_host' => 'vk.com',
    'email' => $login,
    'pass' => $pass
    );
     
    $curlOpt = array(
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HEADER => false,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($postData),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_URL => 'http://login.vk.com/?act=login',
    CURLOPT_USERAGENT => $userAgent
    );
     
    $ch curl_init();
    curl_setopt_array($ch$curlOpt);
    $response curl_exec($ch);
     
    $cookie 'remixsid=' substr($responsestrpos($response"setCookieEx('sid', '") + 2060);
    curl_setopt($chCURLOPT_COOKIE$cookie);
     
    $postData = array('act' => 'get_wall',
    'al' => '1',
    'fixed' => '',
    'offset' => $offset,
    'owner_id' => $id,
    'type' => 'all'
    );
     
    $curlOpt = array(
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HEADER => false,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($postData),
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
    CURLOPT_URL => 'http://vk.com/al_wall.php',
    CURLOPT_USERAGENT => $userAgent
    );
     
    curl_setopt_array($ch$curlOpt);
     
    file_put_contents($filenamecurl_exec($ch));
     
    curl_close($ch);
     
    ?>
    Может отзыв на фрилансе хотя бы оставите? :)
     
  10. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    Я не понял, ты наехать что ли решил? никто цены не сбивал, если это делается все бесплатно, с тем же CD, который лифт не смог настроить правильно.
     
Статус темы:
Закрыта.