[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите алгоритм парсера для групп ВК
123456
Подскажите алгоритм, как сделать парсер постов ВК с паблика в паблик.

Т.е. задается id первого и второго паблика, и копируются все посты.



Спустя 12 минут, 7 секунд (1.10.2012 - 14:16) Игорь_Vasinsky написал(а):
обычным парсером собираешь посты
хитрым - записываешь в другой паблик.

Спустя 6 часов, 29 минут, 10 секунд (1.10.2012 - 20:45) 123456 написал(а):
Вот накалякал пару строк:

<?php

header('Content-Type: text/html; charset=windows-1251');

$url = "http://www.vk.com/wall-30749234_5702";

function parser($url)
{
if ($code = @file_get_contents($url))
{
$text_start = '<div class="wall_post_text">';
$text_end = '</div>';

$image_start = '<img src="';
$image_end = '"';

function ParserText($text_start, $text_end, $code)
{
preg_match('/'.preg_quote($text_start,'/').'(.*)'.preg_quote($text_end, '/').'/Us', $code, $match['text']);

echo $match['text'][1];
}

function ParserImages($image_start, $image_end, $code)
{
preg_match('/'.preg_quote($image_start,'/').'(.*)'.preg_quote($image_end, '/').'/Us', $code, $match['image']);

echo $match['image'][1];
}

ParserText($text_start, $text_end, $code);

ParserImages($image_start, $image_end, $code);

}
else
echo 'Страница не найдена';
}

parser($url);

?>


Выводит Текст и Одну фотку!

А как сделать, чтоб выводило Все фотки?

Спустя 16 минут (1.10.2012 - 21:01) 123456 написал(а):
уже сам сделал)

Спустя 4 минуты, 28 секунд (1.10.2012 - 21:05) Игорь_Vasinsky написал(а):
вот. уважаю людей, которые после первого вопроса пишут свой код - а не говорят - я нуб - покажите wink.gif

Спустя 3 часа, 7 минут, 46 секунд (2.10.2012 - 00:13) 123456 написал(а):
Я вот написал простенький скрипт, который выводит все данные о записи вк.

Т.е. текст, фотки, опрос. (Остальное мне не нужно)

Вот что получилось:


<?php

header('Content-Type: text/html; charset=windows-1251'); // Кодировка соответствующая ВК

$wall = 'wall-30749234_5702'; // Запись ВК
$url = 'http://www.vk.com/' . $wall; // Составляем URL

function parser($url)
{
if ($code = @file_get_contents($url))
{
/* Задаем критерии Поиска */

$text_start = '<div class="wall_post_text">';
$text_end = '</div>';

$image_start = '<img src="';
$image_end = '"';

$opros_title_start = '<div class="page_media_poll_title">';
$opros_title_end = '</div>';

$opros_var_start = '<td colspan="2" class="page_poll_text">';
$opros_var_end = '</td>';


/* Функции */

function ParserText($text_start, $text_end, $code)
{
preg_match('/'.preg_quote($text_start,'/').'(.*)'.preg_quote($text_end, '/').'/Us', $code, $text);

if (!empty($text[1]))
return $text[1]; // Содержит текст
}

function ParserImages($image_start, $image_end, $code)
{
preg_match_all('/'.preg_quote($image_start,'/').'(.*)'.preg_quote($image_end, '/').'/Us', $code, $image);

if (!empty($image[1]))
return $image[1]; // Содержит картинки
}

function ParserOprosTitle($opros_title_start, $opros_title_end, $code)
{
preg_match('/'.preg_quote($opros_title_start,'/').'(.*)'.preg_quote($opros_title_end, '/').'/Us', $code, $opros);

if (!empty($opros[1]))
return $opros[1]; // Содержит заголовок опроса
}

function ParserOprosVar($opros_var_start, $opros_var_end, $code)
{
preg_match_all('/'.preg_quote($opros_var_start,'/').'(.*)'.preg_quote($opros_var_end, '/').'/Us', $code, $variants);

if (!empty($variants[1]))
return $variants[1]; // Содержит варианты в опросе
}

/* Добавляем данные в переменные/масивы */

$text = ParserText($text_start, $text_end, $code);
$images = ParserImages($image_start, $image_end, $code);
$opros_title = ParserOprosTitle($opros_title_start, $opros_title_end, $code, $opros_end, $opros_end);
$opros_var = !empty($opros_title) ? ParserOprosVar($opros_var_start, $opros_var_end, $code) : NULL;

/* Выводим все данные на экран */

echo '<pre>';
print_r($text);
echo '<br><br>';
print_r($images);
echo '<br><br>';
print_r($opros_title);
echo '<br><br>';
print_r($opros_var);
echo '</pre>';

}
else
echo 'Страница не найдена';
}

parser($url);

?>


как-то долго работает этот скрипт(
Какого вы мнения?

Спустя 14 часов, 13 минут, 14 секунд (2.10.2012 - 14:26) 123456 написал(а):
Есть кто живой?

Спустя 27 минут, 39 секунд (2.10.2012 - 14:54) Игорь_Vasinsky написал(а):
да здесь не чему работу тормозить.
всё зависит от скорости интернет и ответа стороннего сервера.

Спустя 58 минут, 34 секунды (2.10.2012 - 15:53) 123456 написал(а):
Цитата (Игорь_Vasinsky @ 2.10.2012 - 11:54)
да здесь не чему работу тормозить.
всё зависит от скорости интернет и ответа стороннего сервера.

Да, ты прав. Сейчас грузит всё нормально.

Подскажите, как написать Добавление поста(изображение/фото/текст/оперос) в паблик?

Спустя 4 часа, 17 минут, 15 секунд (2.10.2012 - 20:10) sharki написал(а):
123456
У них есть свой API, где ты можешь работать со всеми доступными сервисами
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.